【学】React的学习之旅6-组件的嵌套2
<input type=text placeholder='aaa'>,placeholder属性是定义文本框在没有输入值之前显示的一段灰色提示()=>{}箭头函数在ECMA6里可以强制指定调用函数是函数调用方。()里是参数{}里函数体。
下面2种写法是等价的
componentDidMount(){
$.ajax({
url:this.props.url,
success:function(str) {
this.setState({
comments: JSON.parse(str)
});
}.bind(this) //因为这里的success函数是嵌套在componentDidMount函数里的,所以success函数里的this其实并不是我们需要的组件对象,所以this.setState里这里的this就变成了内部函数里的this,为了避免这种情况,可以用bind进行强制绑定,参数里的this还是外面componentDidMount的this,指定的是组件对象
});
}
componentDidMount(){
$.ajax({
url:this.props.url,
success:(str) => { //将函数参数写在小括号里,如果没有参数就留着小括号,如果只有一个参数可以不写小括号,接着是一个箭头=>,此时内部函数里的this的指向就和外面函数是一样的了
this.setState({
comments: JSON.parse(str)
});
}
});
}
【学】React的学习之旅6-组件的嵌套2的更多相关文章
- 【学】React的学习之旅5-组件的嵌套
复习 [array].map(function(item,index){})方法,传参里的函数需要有return值,一般用map()后都要用一个变量接一下,这个返回的还是一个数组,只是把每次遍历到的数 ...
- 【学】React的学习之旅1
React的学习之旅1 单标签要有斜杠代表结束 用React.createClass()方法时,赋值后的组件名称首字母一定要大写 一定要先定义组件,再用ReactDOM.render调用 组件里ren ...
- 【学】React的学习之旅7-官方例子总结
如果在标签里有注释,除了使用/**/之外,如果写在子标签中,外面还需要用{}包起来,指明这段是javascript代码,否则这段注释会直接显示在页面上,例如 render:function (){ r ...
- 【学】React的学习之旅4-添加事件(onChange)
实现联动绑定,在文本框中输入内容的同时,后面的span里内容跟着一起变化: onChange(),一旦触发一次变动,就执行某个函数: 既然已经在getInitialState属性里申明了一个变量inp ...
- 【学】React的学习之旅3 - 添加事件(onClick)
button除了用<input type="button">之外,还可以直接用<button></button>来创建,而2个标签的中间的内容就 ...
- 【学】React的学习之旅2 - React Component的生命周期
分成三个状态: Mounted Update Unmounted Mounted:当我们看到组件在浏览器中从无到有的效果的时候,mounted已经结束了,这个组件已经被mounted了 有这个阶段有2 ...
- 从零学React Native之09可触摸组件
可触摸组件有: TouchableHighlight,TouchableNativeFeedback,TouchableOpacity,TouchableWithoutFeedback 1. Touc ...
- The Road to learn React书籍学习笔记(第二章)
The Road to learn React书籍学习笔记(第二章) 组件的内部状态 组件的内部状态也称为局部状态,允许保存.修改和删除在组件内部的属性,使用ES6类组件可以在构造函数中初始化组件的状 ...
- 【React】学习笔记(一)——React入门、面向组件编程、函数柯里化
课程原视频:https://www.bilibili.com/video/BV1wy4y1D7JT?p=2&spm_id_from=pageDriver 目录 一.React 概述 1.1.R ...
随机推荐
- gnuplot使用,操作,保存等教程
gnuplot绘制图像并保存 对于在Linux下工作的人,如果你经常要画一些二维图和简单的三维图的话,那么,gnuplot无疑是一个非常好的选择,不仅图形漂亮,而且操作简单.当然如果需要质量更高的三维 ...
- Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path 解决办法
返回数据解析错误 com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT ...
- Echarts 动态折线图
<script src="http://echarts.baidu.com/build/dist/echarts-all.js"></script>< ...
- Linux下mysql忘记root密码
一台机器上的MYSQL服务器很久没用了,忘了root密码无法连接.一时情急,网上搜寻办法,解决,记录在此备用. 修改MySQL的登录设置: //不同的版本的Linux配置文件的位置也不一样,以Lin ...
- iOS--UIView和UIWindow用法
基础 UI(user interface)是用户界面:iOS的应用是由各种各样的UI控件组成 UIWindow就是一个窗口,学的第一个基础类,就是一个容器,可以在容器上放不同的内容,每个app都需要借 ...
- 关于分开编写多个LaTeX文件的一点微小的总结
[转载请注明出处]http://www.cnblogs.com/mashiqi 2016/11/05 在编写LaTeX文档的时候,由于文档的section较多,或者section的编写时间各不相同,我 ...
- SQL --Chapter02 查询基础
SELECT 语句基础 SELECT <列名>,….. FROM <表名>; 查询全部列: SELECT * FROM <表名>; 使用AS关键字为列设置别名,设定 ...
- C++ 类知识点
1. member function definitions are processed after the compiler processes all of the declarations in ...
- 关于使用flexible.js自适应页面,发现文字很多时,字体会变大的问题的原因和解决方案
具体自己还没研究过 先把别人写的文章收藏一下 主要是webkit 有一个Font Boosting特性,当文字小到一定程度的时候会触发这个属性,放大字体来提升页面的阅读感 . http://www.3 ...
- dedecms 后台发布后的文章不能编辑出现一片空白的解决办法
dede后台无法写新文章也无法编辑以前的文档,文章编辑的地方无法写入,出现无法显示该页面的问题,这是怎么回事?我的dede在ftp中换过文件夹,是不是跟这个有关?该如何解决这个问题? 以下修改是针对d ...