总结一下React JS 从官方教程所学到的东东

2017-09-02  本文已影响18人  shiyuwudi

1 id和class的区别:一个文档中id是唯一的,class可以有很多处。

2 getElementById:替换掉div里id为xxx的元素。

3 头两条好弱智,谁叫我之前对js一无所知……

4 marked(string, {sanitize: true}):用markdown格式化字符串。输出要用return {__html: markedString},并且要指定为dangerouslySetInnerHTML(在span中,这样不会被CSS格式化),否则React不会放行(是为了防止XSS攻击)。

5 this.props.children: 就是子节点。

6 注意数组中的每个自定义控件都要有自己的key,来作为排序的依照,否则会报错误->Warning: Each child in an array or iterator should have a unique “key” prop. Check the render method ofCommentList。

7 Best Practice for how to format an array passed in: 最好的方法就是用map然后第一个参数放箭头函数。

8 说到箭头函数,它除了让代码更简练和易读,还有个好处就是会自动修正this的指向,如果用函数作为参数,则一定要手动指定(bind(this))。

9 getInitialState: 重写函数,顾名思义。用来return一个初始化的state,而react native不同,后者是直接在构造函数里指定。

10 在控制性控件的点击事件处理方法中,参数为事件event,有点类似iOS中的target, action模式,event.target就是发出事件的控件,如。event.target.value就可以取出这个input的值。调用event.preventDefault就可以避免这个控件在浏览器里默认的行为。

$.ajax(map): ajax网络请求,使用实例:

$.ajax({

url:this.props.url,

dataType:'json',

type:'POST',

data:yourData,

success:data=>{this.setState({data:data})},

error:(xhr,status,err)=>

{

this.setState({data:comments});

console.error(this.props.url,status,err.toString())

}

});

ajax轮询最佳实践:在componentDidMount中先请求一次,然后再开始轮询。

ReactDOM.render(component, element): 每个js文件的主渲染函数。

注意:

11 JSX语法中React控件的变量要和html的标签字符串区分开,前者首字符大写,而后者小写。比如class这种JS中的关键字,为了在JSX中不至于混淆,后者换成className,还有一些其他类似的例子要注意。

12 吐槽一下网上ReactJS教材也太少了,京东一搜react出来的全是他小弟react native,起源reactJS不讲,直奔native主题,开门见山的功夫让人汗颜。

上一篇下一篇

猜你喜欢

热点阅读