这是一个关于reactjs处理重新渲染以及数组中组件如何工作的一般方式的更多问题。
所以我有一个创建组件数组的函数,但users
道具是空的,如果我按如下方式执行:
// General look of the component
// <StartMultiple key={this.count} users={this.state.users} id={this.count} delete_this={this.delete_this}/>
// Just an example
this.array = []
add_repeat() // do this 5 times, for example
render(
{this.array} // users prop is empty
)
add_repeat()
{
this.repeats.push(<StartMultiple key={this.count} users={this.state.users} id={this.count} delete_this={this.delete_this}/>);
this.setState({ repeats: this.repeats });
this.count++;
}
但是,如果我只是将<StartMultiple key={this.count} users={this.state.users} id={this.count} delete_this={this.delete_this}/>
直接粘贴到return()render()
,它会根据需要更新其道具。 (由this.setState()更新)
所以我的问题是,有没有办法在组件数组中修复这个空数组道具,或者我应该只是想以另一种方式显示它们?例如。 map()
答案 0 :(得分:1)
React组件不属于状态,react状态应该包含可序列化的应用程序状态,而不是可视化表示该状态的组件。
请看这里,&#34;什么不应该进入状态&#34;: