React.js中的非原语默认道具
Non-primitive default props in React.js?
是否有可能在React中指定props
的非原语默认值,而不是在所有实例中共享?
由于getDefaultProps()
的结果被缓存并在所有实例中重用,因此在这里指定非原语默认值是不安全的。
然而,组件不应该修改自己的props
,因此,例如在构造函数中设置props
的非基本值是不允许的。(事实上,props
是不可变的;React
通过Object.preventExtensions
确保这一点。)
不知道该怎么做…
props
是不可变的。getDefaultProps
用于在创建时未指定组件时为组件提供prop值。props
可以是任何有效的javascript值,包括嵌套对象,只要不改变。
因为props
是不可变的,默认道具被缓存并在对象的所有实例之间共享。
对于在组件生命周期中发生变化的内容,您希望使用state
。要指定组件状态的初始形状,需要使用getInitialState()
函数。this.props
将在该函数中可用。
相关文章:
- JavaScript 原语:相同的内存位置、新的内存位置或依赖于引擎
- 为什么我们在javascript中使用“var”而不是String或Number或Boolean(原语)
- JavaScript:Object vs True(或其他原语)相等比较(性能/优化)
- Cesiumjs中实体和原语的区别是什么
- Javascript中字符串对象到字符串原语的转换
- Javascript对象与原语
- Javascript - 原语如何真正工作
- 将字符串转换为原语
- 无效的JSON原语- Asp.Net MVC 4
- React.js中的非原语默认道具
- 对象与原语
- 使用node.js和gm绘制许多图形原语的方法是什么?
- 是否有必要取消抓取收集的原语值
- c# /数据表错误使用JsonWriter:无效的JSON原语:draw
- 如何在PIXI.js中绘制相同原语的多个实例
- 如何“设置对象属性”处理派生对象(这与设置原语有什么不同)
- Function.prototype.call()传递原语值
- 混淆原型链、原语和对象
- 我需要在ThreeJS盒子原语上隐藏边缘
- 继承方法到除原语以外的所有对象