亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

怎么初始化react-redux生成的store

怎么初始化react-redux生成的store

江戶川亂折騰 2019-02-28 18:19:44
在頁面第一次加載的時候我已經把react-redux生成的store綁定到了provider上。ReactDom.render(    <Provider store={store}>        {AppealRoutes}    </Provider>,    document.getElementById('appeal-container'));經過幾個頁面后,store里面已經保存了頁面的狀態數據。但是我如果有在子組件初始化store的數據,該怎么做呢?我就是想在子組件內部去將保存狀態數據的store初始化成空的{}。
查看完整描述

2 回答

?
翻閱古今

TA貢獻1780條經驗 獲得超5個贊

在那個子組件里,傳一個action給reducer,這個action就是你要的空{},{...state,A:{},B:{}....}


查看完整回答
反對 回復 2019-03-06
?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

假設你有一個子組件 Child,你想將數據存在 store 下的 child。


當前的 store 狀態是


{

    // other data

    child: {

        // child data

    }

}

在 redux 的世界里, store 的更改必須由 reducer function 來更改,此時就需要發送一個類似 resetChildData 的action,簡寫如下


export resetChildData = () => {

    type: 'REST_CHILD_DATA',

}

然后需要書寫對應的 reducer 來了真正的清除數據


const INIT_STATE = {}


export const childReducer = (state, action) => {

    switch(action.type) {

        case 'REST_CHILD_DATA':

            return INIT_STATE

        default:

            return state

    }

}

注意此時的 rootReducer 需要綁定這個 childReducer


const rootReducer = {

    child: ChildReducer,

}

至此,在 Child 組件中,將 action 通過 connect 函數傳入


import resetChildData from '../actions/child'


Class Child extends Component {

}


export default connect(

    null,

    {

        resetChildData,

    }

)(Child)

在組件任何地方就可以使用 this.props.resetChildData 來清空 store 下的 child


查看完整回答
反對 回復 2019-03-06
  • 2 回答
  • 0 關注
  • 1642 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號