ReactJs的一些记录
2015-12-21 11:07
260 查看
1、基础资料
官方英文版
简体中文版(此版本落后于英文版)
ReactJs.NET(在ASP.NET中自动将jsx编译成js)
2、其它资料
组件间通讯
ReactJs兼容IE8
3、IDE工具
VS2015开始才支持ReactJs,所以如果没VS2015的话,可以使用Sublime Text,相关工具及插件资料
4、相关问题点补充
a)ReactJs相关js文件的加载顺序:react.js、react-with-addons.js、react-dom.js,顺序不对会导致部分功能错误
b)在360等浏览器中,需指定<meta name="renderer" content="webkit">以解决浏览器中不显示的问题
c)兼容IE8,除了要引入js之外,还需要增加<meta http-equiv="X-UA-Compatible" content="IE=edge">,这样在IE7也可以显示ReactJs运行结果
d)map会导致ReactJs的事件传递失败,需通过数组组织的方式才能正确传递
e)在render的return方法内,只能有一个根节点,这与xml一致,如上面的<div>包含arr,至于为什么只要看下最终生成的js就知道了,这点可能没有任何文章提到过,估计也就我一个笨蛋会有这种问题吧……
f)可以通过设置ref,然后组件内通过this.refs.xxx来获取对应的组件,这里需要注意:如果你是在react组件上设置了ref属性,那么获取的就是你创建的reactElement,你可以调用它的各种方法;如果你是在原生html标签上设置了ref属性,那么获取的就是这个原生html标签,你可以通过它来操作dom,但这里还有些东西需要注意,因为reactjs展示的内容必须通过setState方法才会更新界面部分,所以就算你通过某种方式更改了dom的某些展示,但如果你没有调用setState方法,那么你下一次触发组件时,相关变动会被重置
g)setState有两个参数,第一个为要更新的data,第二个为callBack,如果某些后续操作需要在setState结束之后触发,那么可以写入到callBack事件里
h)待补充
官方英文版
简体中文版(此版本落后于英文版)
ReactJs.NET(在ASP.NET中自动将jsx编译成js)
2、其它资料
组件间通讯
ReactJs兼容IE8
3、IDE工具
VS2015开始才支持ReactJs,所以如果没VS2015的话,可以使用Sublime Text,相关工具及插件资料
4、相关问题点补充
a)ReactJs相关js文件的加载顺序:react.js、react-with-addons.js、react-dom.js,顺序不对会导致部分功能错误
b)在360等浏览器中,需指定<meta name="renderer" content="webkit">以解决浏览器中不显示的问题
c)兼容IE8,除了要引入js之外,还需要增加<meta http-equiv="X-UA-Compatible" content="IE=edge">,这样在IE7也可以显示ReactJs运行结果
d)map会导致ReactJs的事件传递失败,需通过数组组织的方式才能正确传递
//CheckBox是自定义的一个ReactJs组件,在这里callBack事件不会被传递到组件里,但属性value可以 render:function(){ return(<div> this.props.data.map(function(d){ return <CheckBox type="text" value={d.value} callBack={this.handleChanged}/> })</div> ) } //下面这种通过数组的方式事件才会被传递 render:function(){ var arr=[]; for(var i=0;i<this.props.data.length;i++){ var d= this.props.data[i]; arr.push(<CheckBox key={d.value} value={d.value} text={d.text} checked={this.state.checkedItems[d.value]} callBack={this.handleChanged} />); } return( <div>{arr}</div> ) }
e)在render的return方法内,只能有一个根节点,这与xml一致,如上面的<div>包含arr,至于为什么只要看下最终生成的js就知道了,这点可能没有任何文章提到过,估计也就我一个笨蛋会有这种问题吧……
f)可以通过设置ref,然后组件内通过this.refs.xxx来获取对应的组件,这里需要注意:如果你是在react组件上设置了ref属性,那么获取的就是你创建的reactElement,你可以调用它的各种方法;如果你是在原生html标签上设置了ref属性,那么获取的就是这个原生html标签,你可以通过它来操作dom,但这里还有些东西需要注意,因为reactjs展示的内容必须通过setState方法才会更新界面部分,所以就算你通过某种方式更改了dom的某些展示,但如果你没有调用setState方法,那么你下一次触发组件时,相关变动会被重置
g)setState有两个参数,第一个为要更新的data,第二个为callBack,如果某些后续操作需要在setState结束之后触发,那么可以写入到callBack事件里
h)待补充
相关文章推荐
- Windows环境搭建React Native Android的开发环境
- React-Flux 介绍及实例演示
- React-用ImmutableJS提高性能
- React Jest测试
- React如何性能调优
- React 性能调优原理
- React使用rAF动画介绍
- React用JS 模拟动画介绍
- 如何在React中使用CSS3动画
- java识别验证码-用tess4j实现超简单调用tessreact-orc来破解验证码
- React表单组件自定义-可控及不可控组件
- 大神眼中的React Native--备用
- React事件处理函数的bind复用和name复用
- React表单元素的使用
- ReactJS学习笔记(三)
- 用ReactJS和Python的Flask框架编写留言板的代码示例
- 用ReactJS和Python的Flask框架编写留言板的代码示例
- React可控组件与不可控组件
- React组件-mixin
- React-组件嵌套-子组件通过委托向父组件传值