深入探讨前端框架react_javascript技巧
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了深入探讨前端框架react_javascript技巧,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2602字,纯文字阅读大概需要4分钟。
内容图文
摘要: 最近公司要做一个嵌套在app中的应用,考虑着用Facebook的react来开发view,所以就研究了下。下面是我在开发中遇到的坑,希望能给你帮助。
项目地址:https://github.com/baixuexiyang/react
Issue:https://github.com/baixuexiyang/react/issues
欢迎star和fork!
react优势:
?仅仅只要表达出你的应用程序在任一个时间点应该长的样子,然后当底层的数据变了,React 会自动处理所有用户界面的更新。
?数据变化后,React 概念上与点击“刷新”按钮类似,但仅会更新变化的部分。
?React 都是关于构建可复用的组件,使代码复用、测试和关注分离(separation of concerns)更加简单。
注意点:
1.加载组件的首字母大写,比如:
2.每一个组件的render最外层都要有一个包裹元素
3.this.props不能修改,this.state可以修改
4.页面oclick事件在ios中的Safari不起效果,onClick={this.detail.bind(this, item)} 需要使用其他方式,比如jQuery的绑定事件
5.string转换成html,dangerouslySetInnerHTML={{__html: ''}}
6.getInitialState:在组件挂载之前调用一次。返回值将会作为 this.state 的初始值。
getDefaultProps:在组件类创建的时候调用一次,然后返回值被缓存下来。如果父组件没有指定 props 中的某个键,则此处返回的对象中的相应属性将会合并到 this.props (使用 in 检测属性)。
该方法在任何实例创建之前调用,因此不能依赖于 this.props。另外,getDefaultProps() 返回的任何复杂对象将会在实例间共享,而不是每个实例拥有一份拷贝。
组件的生命周期:
componentWillMount:
服务器端和客户端都只调用一次,在初始化渲染执行之前立刻调用。
componentDidMount:
在初始化渲染执行之后立刻调用一次,仅客户端有效(服务器端不会调用)。
componentWillReceiveProps:
在组件接收到新的 props 的时候调用。在初始化渲染的时候,该方法不会调用。
shouldComponentUpdate:
在接收到新的 props 或者 state,将要渲染之前调用。该方法在初始化渲染的时候不会调用,在使用 forceUpdate 方法的时候也不会。
如果确定新的 props 和 state 不会导致组件更新,则此处应该 返回 false。
componentWillUpdate:
在接收到新的 props 或者 state 之前立刻调用。在初始化渲染的时候该方法不会被调用。
componentDidUpdate:
在组件的更新已经同步到 DOM 中之后立刻被调用。该方法不会在初始化渲染的时候调用。
componentWillUnmount:
在组件从 DOM 中移除的时候立刻被调用。
小结:
使用react开发,所有html都写在js文件里,所以开发起来不是很顺畅。推荐一个chrome插件:React Developer Tools
对于React,有一些认识误区,在此总结一下:
React不是一个完整的MVC框架,最多可以认为是MVC中的V(View),甚至React并不非常认可MVC开发模式;
React的服务器端Render能力只能算是一个锦上添花的功能,并不是其核心出发点,事实上React官方站点几乎没有提及其在服务器端的应用;
有人拿React和Web Component相提并论,但两者并不是完全的竞争关系,你完全可以用React去开发一个真正的Web Component;
React不是一个新的模板语言,JSX只是一个表象,没有JSX的React也能工作。
以上所述是关于前端框架react相关知识的全部内容,希望大家喜欢。
内容总结
以上是互联网集市为您收集整理的深入探讨前端框架react_javascript技巧全部内容,希望文章能够帮你解决深入探讨前端框架react_javascript技巧所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。