Javascript 反应:我可以通过道具传递组件默认状态值吗?

Javascript 反应:我可以通过道具传递组件默认状态值吗?,javascript,reactjs,frameworks,Javascript,Reactjs,Frameworks,例如: ... 导出默认类计数器扩展React.Component{ 建造师(道具){ 超级(); 此.state={ 开始:道具。开始 }; } } 我在谷歌上搜索了这个问题,发现答案已经过时了 关于StackOVerflow的几个问题 但我在React博客上找到了这篇文章: 在那篇文章中,作者做了我想做的事情,据我所知,getDefaultProps现在已经被弃用了 所以问题是:通过道具传递状态仍然是一种反模式吗?IMHO'yes',因为您给人的印象是,改变道具值会改变组件的行

例如:


... 
导出默认类计数器扩展React.Component{
建造师(道具){
超级();
此.state={
开始:道具。开始
};
}
}
我在谷歌上搜索了这个问题,发现答案已经过时了

关于StackOVerflow的几个问题

但我在React博客上找到了这篇文章:

在那篇文章中,作者做了我想做的事情,据我所知,
getDefaultProps
现在已经被弃用了


所以问题是:通过道具传递状态仍然是一种反模式吗?

IMHO'yes',因为您给人的印象是,改变道具值会改变组件的行为,而这不会发生。当我更改start参数时,您的组件的行为将完全相同


印象很酷,但需求是真实的。当我需要这种类型的行为时,我只需相应地将我的道具命名为
initialFoo
defaultBar

,但在某些情况下,更改状态变量(通过道具获得其初始值)会改变组件的行为。在这种情况下,这不是通往goYes的道路吗?是的,这就是我说“需求是真实的”的意思;对不起,如果这是简短的。需要是存在的;例如,当您想要实现一些类似于非受控组件行为的行为时,您只通过道具提供defaultValue。我建议对这些道具有一个命名约定…哦。我完全误解了对于我所问的令人困惑的问题,“是”是对“我能做什么”或“它仍然是反模式的”的回答吗;很抱歉。在对这个问题进行了更多的思考之后;这只是我的拙见,我认为这不是一种反模式,而是一种糟糕的做法。它不是反模式,因为该模式由不受控制的组件使用,无法绕过。这是一个糟糕的做法,除非你定义了一个明确的命名约定,因为我之前已经说过了。张贴为什么需要这样做,我们可以找到一个替代方案。问题中的例子是:我有一个计数器,我需要将初始状态传递给组件。如果不是通过属性,我该怎么做。。。