Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript React.js中的非原始默认道具?_Javascript_Properties_Reactjs_Default_Primitive - Fatal编程技术网

Javascript React.js中的非原始默认道具?

Javascript React.js中的非原始默认道具?,javascript,properties,reactjs,default,primitive,Javascript,Properties,Reactjs,Default,Primitive,是否可以为React中的props指定非原语默认值,这些默认值不会在所有实例中共享 因为,指定非原语默认值不是一个安全的地方 但是,组件不应该修改它们自己的道具,因此,例如,在构造函数中的道具上设置非原语值是不允许的。(事实上,道具是不可变的;React确保了这一点。) 不知道如何才能做到这一点…道具是不可变的getDefaultProps用于在组件创建时未指定属性值时向组件提供属性值props可以是任何有效的javascript值,包括嵌套对象,只要它们不改变 因为props是不可变的,所以默

是否可以为React中的
props
指定非原语默认值,这些默认值不会在所有实例中共享

因为,指定非原语默认值不是一个安全的地方

但是,组件不应该修改它们自己的
道具
,因此,例如,在构造函数中的
道具
上设置非原语值是不允许的。(事实上,
道具
是不可变的;
React
确保了这一点。)


不知道如何才能做到这一点…

道具是不可变的
getDefaultProps
用于在组件创建时未指定属性值时向组件提供属性值
props
可以是任何有效的javascript值,包括嵌套对象,只要它们不改变

因为
props
是不可变的,所以默认的props被缓存并在对象的所有实例之间共享


对于组件生命周期内发生变化的情况,您需要使用
状态
。要指定组件状态的初始形状,需要使用
getInitialState()
函数<代码>此.props将在该功能中可用。

为什么您需要每个实例都不同?这不就是国家的目的吗?@rossipedia配置。例如,
这通常是没有问题的,因为你不会改变道具。如果你改变道具,这是许多问题中的第一个。如果你从来没有对它进行过变异,那么它是原始的还是非原始的都无关紧要。不,我明白了,非原始的道具是完全好的,但我仍然看不到非共享默认道具的用例。根据定义,这些是每个实例的道具。@rossipedia我打算这些是每个实例的道具。是否有其他/首选的方法来指定实例道具的默认值?我认为getDefaultProps是指定实例道具的唯一方法?