immutable.js在react項目中的簡單使用

immutable.js

immutable能夠將一個對象轉爲一個不可更改的對象。對 Immutable 對象的任何修改或添加刪除操做都會返回一個新的 Immutable 對象。
fromJS
  • header/store/reducer.js
import { fromJS } from 'immutable';
    const defaultState = fromJS({
        data: {},
        list: []
    })
    export default (state = defaultState, action) => {
      switch (action.type) {
        case 'change_data':
          return state.set("data", action.data);
        case 'change_all':
          return state.merge({
            list: action.data,
            data: action.data
          });
        default:
          return state;
      }
    };
  • index.js-----組件
const mapStateToProps = (state) => {
     return {
       // focused: state.get("header").get("focused")
       focused: state.getIn(['header', 'data'])
     }
    };
  • store/reducer.js
import { combineReducers } from "redux-immutable";
    import { reducer as headerReducer } from '../common/header/store';
    
    const reducer = combineReducers({
      header: headerReducer
    });
    
    export default reducer;
相關文章
相關標籤/搜索