其中是在ReactJS中放置一个值的最佳位置,该值由传入的初始参数计算一次,然后再也不会更改
Where is the best place to put a value which is computed once by the initial passed-in parameter and never changed again, in ReactJS?
在reactjs组件中,我将根据传入的参数计算一个值,该值将永远不会更改。
说:
React.createClass({
componentWillMount: function() {
this.computedValue = complexComputing(this.props.feed);
},
render: function() {
return <div>{this.computedValue}</div>
}
});
你可以看到我已经把computedValue
直接放进了this
,但我不确定这是否是最好的地方。
经验法则是渲染应该从道具和状态派生。因为你不能改变道具,所以我会把它放在状态下。
React.createClass({
componentWillMount: function() {
this.setState({
computedValue: complexComputing(this.props.feed)
});
},
render: function() {
return <div>{this.state.computedValue}</div>
}
});
如果您只想在生命周期方法之间共享数据,那么将内容放在this
上是正确的,最常见的是使内容可用于componentWillUnmount中的清理。
对于这些类型的计算,您使用的方法是正确的。
根据React组件的生命周期,有几个方法只被调用一次,也只有一次,它们是getInitialState()
、getDefaultProps()
、componentWillMount()
和componentDidMount()
。
然而,我会把它放在getDefaultProps()
中,因为在那里有这种类型的数据更有意义,因为这是你不想通过状态变异的数据。
相关文章:
- 作为参数传递时如何计算函数
- Ember使用参数计算属性
- 为什么这个带有对象调用函数的Javascript setInterval在传入回调时不计算内部参数
- 其中是在ReactJS中放置一个值的最佳位置,该值由传入的初始参数计算一次,然后再也不会更改
- 如何计算参数 JavaScript 中的条件
- JavaScript:按名称调用参数计算
- Html列表:如何计算列表中检索到的参数数
- 余烬使用计算属性作为操作参数
- 如何创建和调用接受三个参数(页面长度)并计算块面积的 JavaScript 函数
- 创建根据时间参数计算对象状态的函数
- 如何将参数传递给 Knockout 中的计算函数
- JavaScript 是否对函数参数有明确的计算顺序?
- 如何防止 JavaScript 计算函数参数
- Javascript 函数参数计算
- 如何将控制器函数计算的值作为参数从 HTML 传递给指令
- 一个Javascript函数,它计算几个东西作为文本参数
- 我可以在 Vue.Js 中的计算属性中传递参数吗?
- 理解javascript的hasOwnProperty()方法是如何计算参数的
- 在序列化之前计算参数
- 击倒计算参数未更新