我有這樣的代碼:不要直接改變狀態。使用的setState()反應/無直接突變狀態
constructor(props) {
super(props)
this.state = {
loginButton: '',
benchmarkList: ''
}
if (props.username == null) {
this.state.loginButton = <GoogleButton></GoogleButton>
} else {
}
}
這是給我一個警告ESLint:
不要直接變異狀態。使用setState() react/no-direct-mutation-state。
現在我到底該怎麼辦,因爲我不能用setState
內constructor
直接,因爲它創造error和更新這樣給我的錯誤。
設置'this.state'不必是第一個發言;你可以先設置各種'var's,然後使用它們來組成'this.state'。 –
只是要拋棄這裏,在狀態中存儲React組件可能不是最好的方向 – rossipedia
確實,更好的解決方案是在渲染對象中使用「{!this.state.username && }」 。 –