defaultProps在ReactJs中是否有效

时间:2018-06-24 05:40:52

标签: javascript reactjs ecmascript-6

我正在按照一个教程进行操作,他们设置了一个名为static object的{​​{1}},并将其设置为defaultprops后可以在同一组件中使用,为什么可能,我的意思是什么功能this.props的功能,这是React的功能吗?

static defaultProps

1 个答案:

答案 0 :(得分:1)

默认道具很好,不用将所有道具传递给组件时都指定它们。顾名思义,它允许您为道具设置漂亮的默认值,即使没有传入覆盖值也可以使用它。请记住,留空道具会导致使用默认值,而传入null 将导致使用null值。

可能会找到更多信息here

修改
要更明确地回答所提出的问题:

这是可能的,因为这就是React的工作方式。这是内置功能,为程序员和逻辑上的方便。

对于您示例中的TestComponent,请想象它已在另一个组件中使用。如果仅使用<TestComponent />,则组件的food值为["goatmeat","yam"]。但是,您始终可以根据需要重写该属性,方法是在调用prop时为其传递一个不同的值。例如,您可以使用<TestComponent food={["cheese", "eggs", "cabbage"]}/>。这将导致此组件实例的food值为["cheese", "eggs", "cabbage"]

我认为还应该指出它应该是defaultProps而不是defaultprops,因为我相当确定大写是重要的,但是如果有人想纠正我,我很乐意编辑这一点。