目前,当更改组件中的状态时,我将状态订阅到一个商店,该商店在我调用的函数完成时更新。我这样做:
useAirQualityStore.getState().updateAirQuality();
...
this.state = useAirQualityStore.subscribe(state => this.setState(state));
但是,当我在需要使用多个商店的屏幕上工作时,我有更多的参数并且无法设置整个状态。我可以订阅我的状态的某些参数来监听商店的变化吗?
我对此的想法会以某种方式传递到以前的状态,但似乎有点混乱:
useWeatherStore.subscribe(console.log, state => this.setState(prevState => {
return {
...prevState,
forecast: state.dailyForecast,
weatherIsLoading: state.forecast.isLoading
}
}));
有一个更好的方法吗?