1.创建仓库
1.constant
export const SAVE_BENEFITS_SHOP_INFO = 'SAVE_BENEFITS_SHOP_INFO'
2.actions
import { SAVE_BENEFITS_SHOP_INFO } from '../constants/common'
export const updateBenefitsShopInfo = (benefitsShopInfo) => {
return {
type: SAVE_BENEFITS_SHOP_INFO,
benefitsShopInfo
}
}
3.reducers
import { SAVE_BENEFITS_SHOP_INFO } from '../constants/common'
const Inital_state = { benefitsShopInfo: {} }
export default function common (state = Inital_state, action) {
switch(action.type) {
case SAVE_BENEFITS_SHOP_INFO:
return {
...state,
benefitsShopInfo: action.benefitsShopInfo
}
default:
return state
}
}
2.页面使用
1.类组件
import { updateBenefitsShopInfo } from '@/store/actions/common'
import { connect } from '@tarojs/redux'
@connect(({ common }) => ({
benefitsShopInfo: common.benefitsShopInfo
}), (dispatch) => ({
onUpdateBenefitsShopInfo(benefitsShopInfo) {
dispatch(updateBenefitsShopInfo(benefitsShopInfo))
}
}))
this.props.onUpdateBenefitsShopInfo(item)
this.props.benefitsShopInfo
2.函数组件
import { useSelector, useDispatch } from '@tarojs/redux'
import { init_goodsMessage } from '@/store/reducers'
const { goodsMessage } = useSelector(
(state) =>
state.auditPriceCheck || {
goodsMessage: deepCopy(init_goodsMessage),
}
)
const dispatch = useDispatch()
dispatch(
upDataGoodsMessage({
tabList: newTabList,
productList: newProductList,
})
)
直接使用goodsMessage