总之一句话,纯函数能帮你更好的设计的你组件,底层的原子组件尽量应用纯函数,可复竽暌姑或者更复杂的逻辑可以推敲抽离出高价逻辑组件。
也并不是说所有处所都要应用纯函数,如不雅你的组件确切须要状况与生命周期相干操作,那就应用类。
附带两篇同一个作者的不合不雅点的文┞仿(英文):
- 应用无状况函数组件的9个来由 React Stateless Functional Components: Nine Wins You Might Have Overlooked
- 7个不应用无状况纯函数组件的来由 7 Reasons to Outlaw React’s Functional Components
决定 5:State
接下来你要推敲的是若何治理你的状况数据,业界已经有很多筹划,群众的选择是
如不雅是简单WEB的应用,可能 React 供给的 setState() 就完全能知足你的需求,够用就好别强行参加其它 State 治理框架。
如不雅是大年夜型的WEB应用,小我建议应用 Redux。Redux是JavaScript应用法度榜样的可猜测状况治理容器。它可以赞助您编写行动一致的应用法度榜样,可在不合情况(WEB客户端,办事器和手机应用等)中运行,并且易于测试。
趁便提一下Redux借鉴的其核心思惟之一的框架 Flux,有兴趣可所以研究一下。
Bobx,简单,可扩大的状况治理库。本人也没有应用就不细说了
决定 6:绑定(Binding)
一张图能搞定,就不多做说清楚明了
- class SayHello extends React.Component {
- constructor(props) {
- super(props);
- this.state = {message: 'Hello!'};
- }
- // 应用箭头函数banding
- handleClick = () => {
- alert(this.state.message);
- }
- render() {
- return (
- <button onClick={this.handleClick}>
- Say hello
- </button>
- );
- }
- }
应用构造函数中绑定示例代码如下:
- class SayHello extends React.Component {
- constructor(props) {
- super(props);
- this.state = {message: 'Hello!'};
推荐阅读
放弃uuid(guid)的应用数据库的治理是一个异常专业的工作,对数据库的调优、监控一般是由数据库工程师完成,然则开辟人员也经常与数据库打交道,即使是简单的增删改查也是有很多桥绫桥,这里,一路来聊聊>>>详细阅读
本文标题:React开发中面临的九个重要抉择
地址:http://www.17bianji.com/lsqh/38432.html
1/2 1