Javascript React.js中的非原始默认道具?
是否可以为React中的Javascript React.js中的非原始默认道具?,javascript,properties,reactjs,default,primitive,Javascript,Properties,Reactjs,Default,Primitive,是否可以为React中的props指定非原语默认值,这些默认值不会在所有实例中共享 因为,指定非原语默认值不是一个安全的地方 但是,组件不应该修改它们自己的道具,因此,例如,在构造函数中的道具上设置非原语值是不允许的。(事实上,道具是不可变的;React确保了这一点。) 不知道如何才能做到这一点…道具是不可变的getDefaultProps用于在组件创建时未指定属性值时向组件提供属性值props可以是任何有效的javascript值,包括嵌套对象,只要它们不改变 因为props是不可变的,所以默
props
指定非原语默认值,这些默认值不会在所有实例中共享
因为,指定非原语默认值不是一个安全的地方
但是,组件不应该修改它们自己的道具
,因此,例如,在构造函数中的道具
上设置非原语值是不允许的。(事实上,道具
是不可变的;React
确保了这一点。)
不知道如何才能做到这一点…
道具是不可变的getDefaultProps
用于在组件创建时未指定属性值时向组件提供属性值props
可以是任何有效的javascript值,包括嵌套对象,只要它们不改变
因为props
是不可变的,所以默认的props被缓存并在对象的所有实例之间共享
对于组件生命周期内发生变化的情况,您需要使用状态
。要指定组件状态的初始形状,需要使用getInitialState()
函数<代码>此.props将在该功能中可用。为什么您需要每个实例都不同?这不就是国家的目的吗?@rossipedia配置。例如,这通常是没有问题的,因为你不会改变道具。如果你改变道具,这是许多问题中的第一个。如果你从来没有对它进行过变异,那么它是原始的还是非原始的都无关紧要。不,我明白了,非原始的道具是完全好的,但我仍然看不到非共享默认道具的用例。根据定义,这些是每个实例的道具。@rossipedia我打算这些是每个实例的道具。是否有其他/首选的方法来指定实例道具的默认值?我认为getDefaultProps是指定实例道具的唯一方法?