码迷,mamicode.com
首页 > 其他好文 > 详细

models

时间:2018-10-14 21:55:32      阅读:505      评论:0      收藏:0      [点我收藏+]

标签:center   text   cts   style   传递   push   方式   mit   count   

. 参考网站

redux:  http://cn.redux.js.org/docs/introduction/CoreConcepts.html

dva:  https://github.com/dvajs/dva/blob/master/docs/Concepts_zh-CN.md

connect http://taobaofed.org/blog/2016/08/18/react-redux-connect/

 

. 概念

1.所有的state都以一个对象树的形式储存在store中。

2.唯一改变state的方法是触发action(一个描述发生什么的对象)。

3.为了描述action如何改变state树,需要编写reducers(一个接收state和action,并返回新的state的函数)。

reducers: {

    changeLoginStatus(state, { payload }) {

      return {  

        ...state,

        status: payload.status,

        type: payload.type,

        submitting: false,

      };

    },

 }

4.通过store.dispatch()将action传到store。(用于页面上交互时,事件里面)

this.props.dispatch({

    type: ‘login/login‘,

    payload: {}, // 需要传递的信息

}

5. action 是改变 State 的唯一途径,但是它只描述了一个行为,而 dipatch 可以看作是触发这个行为的方式,而 Reducer 则是描述如何改变数据的

6.connect做了两件事,一是把组件里的属性(粮食)送到罐子里去,二是把组件们需要干什么事情提前和罐子外面的redux约定好。

 

models里包含下面这几部分

1.effects

effects: {

    *login({ payload }, { call, put }) {

      yield put({

        type: ‘changeSubmitting‘,

        payload: true,

      });

      const response = yield call (fakeAccountLogin, payload);

      yield put({

        type: ‘changeLoginStatus‘,

        payload: response,

      });

      // Login successfully

      if (response.status === ‘ok‘) {

        console.log(routerRedux);

        yield put(routerRedux.push(‘/‘));

      }

    },

};

 

models

标签:center   text   cts   style   传递   push   方式   mit   count   

原文地址:https://www.cnblogs.com/ty-smile/p/9787906.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!