Reactjs React JS-是否有this.setState(this.state)的缩写?
React JS中是否有可以执行Reactjs React JS-是否有this.setState(this.state)的缩写?,reactjs,Reactjs,React JS中是否有可以执行this.setState(this.state)的速记语法?修改状态后,调用forceUpdate()而不是this.setState(this.state)会有什么影响 谢谢 根据,这种状态不应该直接变异 注: 切勿直接对this.state进行变异,因为之后调用setState()可能会替换您所做的变异。将this.state视为不可变的。 setState()不会立即改变this.state,但会创建挂起的状态转换。调用此方法后访问this.state可能
this.setState(this.state)
的速记语法?修改状态后,调用forceUpdate()
而不是this.setState(this.state)
会有什么影响
谢谢 根据,这种状态不应该直接变异
注:
切勿直接对this.state进行变异,因为之后调用setState()可能会替换您所做的变异。将this.state视为不可变的。
setState()不会立即改变this.state,但会创建挂起的状态转换。调用此方法后访问this.state可能会返回现有值。
无法保证对setState调用的同步操作,并且可能会对调用进行批处理以提高性能。
除非在shouldComponentUpdate()中实现了条件呈现逻辑,否则setState()将始终触发重新呈现。如果正在使用可变对象,并且逻辑无法在shouldComponentUpdate()中实现,则仅当新状态与以前的状态不同时调用setState()将避免不必要的重新呈现
假设您有一个侧抽屉,您的状态为:
state = {
showSideDrawer: false
};
单击切换图标时,底部功能将运行:
sideDrawerToggleHandler = () => {
this.setState((prevState) => {
return {showSideDrawer: !prevState.shorthand}
});
}
这是一个例子,我希望这对初学者有用(如本文所述)forceUpdate
将跳过shouldComponentUpdate
。通常,您应该将状态的任何修改放入setState
或replaceState
调用中。