setState 是替换键中的所有现有数据,还是只更新需要更新的内容?
Does setState replace all existing data in a key, or just update what needs updating?
在反应中,如果我有一个状态中的对象,例如:
{flags:
loading: false,
visible: true
}
然后调用setState({flags:{loading:true}});
,它只是更新加载标志,还是替换整个标志对象?
setState
将当前状态与您传递给它的新状态浅层合并。如果合并
{
flags: {
loading: false,
visible: true
}
}
和
{
flags: {
loading: true
}
}
整个flags
属性将被覆盖和替换。
但如果你有另一个 属性 叫 say flags2
在初始状态(与 flags
处于同一级别),那将不会受到影响。
在反应中,如果我有一个状态中的对象,例如:
{flags:
loading: false,
visible: true
}
然后调用setState({flags:{loading:true}});
,它只是更新加载标志,还是替换整个标志对象?
setState
将当前状态与您传递给它的新状态浅层合并。如果合并
{
flags: {
loading: false,
visible: true
}
}
和
{
flags: {
loading: true
}
}
整个flags
属性将被覆盖和替换。
但如果你有另一个 属性 叫 say flags2
在初始状态(与 flags
处于同一级别),那将不会受到影响。