网站有一部分数据需要做成实时更新的状态,用redux的时候感觉很别扭,数据等于是从action直接给了store,没有进行任何处理。
代码应该是这样的:
// reducer
export const RealTimeMsg = (data = {}, action) => {
switch(action.type) {
case 'GET_QUOTATION_DATA':
return { ...action.data }
case 'GET_REALTIME_DATA':
return { ...action.data }
default :
return data
}
}
action中的data仅仅是dispatch(action)的时候传递给action的
//
export const getQuotation = (data) => {
return {
type: 'GET_QUOTATION_DATA',
data
}
}
//
export const getRealtime = (data) => {
return {
type: 'GET_REALTIME_DATA',
data
}
}
如果不考虑其他组件会触发本组件的action的情况下,当前组件还有必要将数据交给store吗?
有必要,当你有多个数据来源,socket 和http的时候更需要这总统一的处理,抹平差异