工作生活

dva简单使用(不涉及原理)

2019-07-02  本文已影响0人  初入前端的小菜鸟

dva 首先是一个基于 reduxredux-saga 的数据流方案,然后为了简化开发体验,dva 还额外内置了 react-routerfetch,所以也可以理解为一个轻量级的应用框架

官方文档

定义 Model

dva 通过 model 的概念把一个领域的模型管理起来,包含同步更新 statereducers,处理异步逻辑的 effects,订阅数据源的 subscriptions

创建Model

export default {
  namespace: 'products',
  state: [],
  reducers: {
    'delete'(state, { payload: id }) {
      return state.filter(item => item.id !== id);
    },
  },
};

简单使用,官方简单示例
示例链接

// 摘抄代码
app.model({
  namespace: 'count',
  state: 0,
  reducers: {
    add  (count) { return count + 1 },
    minus(count) { return count - 1 },
  },
});


const App = connect(({ count }) => ({
  count
}))(function(props) {
  return (
    <div>
      <TestError />
      <h2>{ props.count }</h2>
      <button key="add" onClick={() => { props.dispatch({type: 'count/add'})}}>+</button>
      <button key="minus" onClick={() => { props.dispatch({type: 'count/minus'})}}>-</button>
    </div>
  );
});
上一篇 下一篇

猜你喜欢

热点阅读