React.js 中的非原始默认道具?
Non-primitive default props in React.js?
是否可以在 React 中为 props
指定非原始默认值,而不是在所有实例之间共享?
自 the result of getDefaultProps()
is cached and reused for all instances 起,指定非原始默认值不是一个安全的地方。
但是,组件不应该修改它们自己的 props
,例如在构造函数中对 props
设置非原始值是一个禁忌。 (事实上,props
是不可变的;React
通过 Object.preventExtensions
确保了这一点。)
不知道还有什么办法可以做到这一点...
props
是不可变的。 getDefaultProps
用于在创建时未指定组件时向组件提供道具值。 props
可以是任何有效的 javascript 值,包括嵌套对象,只要它们 不变 。
因为 props
是不可变的,所以默认属性被缓存并在一个对象的所有实例之间共享。
对于在组件生命周期内发生变化的事情,您要使用 state
。要指定组件状态的初始形状,您需要使用 getInitialState()
函数。 this.props
将在该函数中可用。
是否可以在 React 中为 props
指定非原始默认值,而不是在所有实例之间共享?
自 the result of getDefaultProps()
is cached and reused for all instances 起,指定非原始默认值不是一个安全的地方。
但是,组件不应该修改它们自己的 props
,例如在构造函数中对 props
设置非原始值是一个禁忌。 (事实上,props
是不可变的;React
通过 Object.preventExtensions
确保了这一点。)
不知道还有什么办法可以做到这一点...
props
是不可变的。 getDefaultProps
用于在创建时未指定组件时向组件提供道具值。 props
可以是任何有效的 javascript 值,包括嵌套对象,只要它们 不变 。
因为 props
是不可变的,所以默认属性被缓存并在一个对象的所有实例之间共享。
对于在组件生命周期内发生变化的事情,您要使用 state
。要指定组件状态的初始形状,您需要使用 getInitialState()
函数。 this.props
将在该函数中可用。