store.subscribe(()=> {})是观察Redux商店变化的唯一方法吗?
我异步提取我的用户,当应用程序加载时,用户存储很可能是空的,所以我必须做这样的事情:
store.subscribe( () => {
var users = store.getState().users;
if( users.length > 0 ) {
this.setState({ ... })
}
});
现在我有3个或4个组件,我必须在每个组件中使用相同的逻辑。我的问题:这个问题有更优雅的解决方案吗?某种方式在“全球层面”聆听Redux的变化?
答案 0 :(得分:3)
这里有两个答案。
是的,Lines <- "MonitoringLocationIdentifier YEAR
USGS-260753080113901 1999
USGS-260533080123701 1999
USGS-260528080122301 1999
USGS-260521080122401 1999
USGS-260530080112101 1999
USGS-260547080105801 1999"
DF <- read.table(text = Lines, header = TRUE, as.is = TRUE)
是观察商店变更的唯一方式(商店也实施的挑剔异常store.subscribe()
,所以如果你使用了observable,你也可以这样订阅)。
但是,官方React-Redux的Symbol.observable
函数已经处理了商店订阅和提取组件所需数据的过程。不要自己编写商店订阅逻辑 - 使用connect
。 (我写了一篇关于Reddit explaining why you should use React-Redux instead of manually subscribing的长篇评论。)