我正在按照一个教程进行操作,他们设置了一个名为static object
的{{1}},并将其设置为defaultprops
后可以在同一组件中使用,为什么可能,我的意思是什么功能this.props
的功能,这是React的功能吗?
static defaultProps
答案 0 :(得分:1)
默认道具很好,不用将所有道具传递给组件时都指定它们。顾名思义,它允许您为道具设置漂亮的默认值,即使没有传入覆盖值也可以使用它。请记住,留空道具会导致使用默认值,而传入null 将导致使用null值。
可能会找到更多信息here。
修改
要更明确地回答所提出的问题:
这是可能的,因为这就是React的工作方式。这是内置功能,为程序员和逻辑上的方便。
对于您示例中的TestComponent
,请想象它已在另一个组件中使用。如果仅使用<TestComponent />
,则组件的food
值为["goatmeat","yam"]
。但是,您始终可以根据需要重写该属性,方法是在调用prop时为其传递一个不同的值。例如,您可以使用<TestComponent food={["cheese", "eggs", "cabbage"]}/>
。这将导致此组件实例的food
值为["cheese", "eggs", "cabbage"]
。
我认为还应该指出它应该是defaultProps
而不是defaultprops
,因为我相当确定大写是重要的,但是如果有人想纠正我,我很乐意编辑这一点。