javascript – 使用没有状态的React
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 使用没有状态的React,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1387字,纯文字阅读大概需要2分钟。
内容图文
![javascript – 使用没有状态的React](/upload/InfoBanner/zyjiaocheng/746/e19f3c9dc04f42119ffc6550453df2ef.jpg)
我正在构建应用程序的UI,我正在探索更新UI而不必使用States.以下断言是否粗略正确?
‘我们不需要状态,因为当状态内的某些东西发生变化时,它所做的就是在组件上自动调用render方法.我们可以通过在相关组件上调用render方法来实现相同的实现.
我们仍然可以实现React的所有相同优势(虚拟DOM,渲染,绘画优化等)
解决方法:
从技术上讲,您不需要使用React的内部组件状态来构建React应用程序.当然,数据需要存在于某个地方,因此您需要一种机制,可以在数据发生变化时将所有数据传递到顶级组件(它将在所有其他组件中流入其中).
这是flux(和许多其他设计用于提供React状态外存储的模式)背后的基本思想.您有一个或多个商店,商店在数据更改时提供更改事件.然后该数据通过道具传递到应用程序.
function render(data) {
ReactDOM.render(
<Application data={data} />,
containerNode
)
}
myDataStore.on('change', render);
然而,在实践中,由于JavaScript的工作原理,可能很难做到这一点.像上面这样的代码会在每次myDataStore更改时使React重新呈现整个组件树,并且没有好的shouldComponentUpdate挂钩,这可能是性能问题.使用不可变值有助于更轻松地实现良好的shouldComponentUpdate方法.
您通常在使用React外部数据存储的较大React应用程序中看到的是以下组合:
>一个或多个“container” components负责从商店获取数据并将其传递给子女.有时将容器放在除组件树顶部之外的其他位置是有意义的(例如,您可能在一个应用程序中有多个容器)
>可重用/“表示”组件,它们不会挂钩到数据存储中,但会提供其他一些好处(例如黑盒子样式或交互式窗口小部件).在这些情况下,将任何非特定于应用程序的状态保留在组件本身中通常是有意义的.
内容总结
以上是互联网集市为您收集整理的javascript – 使用没有状态的React全部内容,希望文章能够帮你解决javascript – 使用没有状态的React所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。