rc-redux-model

redux 样板代码辅助工具
授权协议 MIT
开发语言 JavaScript TypeScript
所属分类 程序开发、 代码生成工具
软件类型 开源软件
地区 国产
投 递 者 狄富
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

rc-redux-model 提供了一种较为舒适的数据状态管理书写方式,让你简洁优雅地去开发;内部自动生成 action, 只需记住一个 action,可以修改任意的 state 值,方便简洁,释放你的 ⌨️ CV 键~

rc-redux-model 参考了 dva 的数据流方案,在一个 model 文件中写所有的 actionreducerstate,解读了 redux-thunk 的源码,内部实现了一个中间价,同时提供默认行为 action,调用此 action 可以直接修改任意值的 state,例如 :

只需要定义一个 model

export default {
  namespace: 'reduxModel',
  state: {
    testA: '',
    testB: [],
  },
}

那么 rc-redux-model 会自动帮你注册 action 及 reducers,等价于 :

export default {
  namespace: 'reduxModel',
  state: {
    testA: '',
    testB: [],
  },
  action: {
    settestA: ({ commit, currentAction }) => {
      commit({
        type: 'SET_REDUXMODEL_TESTA',
        payload: currentAction.payload,
      })
    },
    settestB: ({ commit, currentAction }) => {
      commit({
        type: 'SET_REDUXMODEL_TESTB',
        payload: currentAction.payload,
      })
    },
    // 推荐使用此action进行修改reducers值
    setStore: ({ dispatch, currentAction }) => {
      dispatch({
        type: `reduxModel/change${currentAction.payload.key}`,
        payload: currentAction.payload.values,
      })
    },
  },
  reducers: {
    ['SET_REDUXMODEL_TESTA'](state, payload) {
      return {
        ...state,
        ...payload,
      }
    },
    ['SET_REDUXMODEL_TESTB'](state, payload) {
      return {
        ...state,
        ...payload,
      }
    },
  },
}

那么你只需要在组件中,调用的默认 Action 即可

class MyComponent extends React.Component {
  componentDidMount() {
    this.props.dispatch({
      type: 'reduxModel/setStore',
      payload: {
        key: 'testA',
        values: '666',
      },
    })
  }
}

✨ 特性

  • 轻巧简洁,写数据管理就跟写 dva 一样舒服
  • 异步请求由用户自行处理,内部支持 call 方法,可调用提供的方法进行转发,该方法返回的是一个 Promise
  • 参考 redux-thunk,内部实现独立的中间件,所有的 action 都是异步 action
  • 提供默认行为 action,调用此 action ,可以修改任意的 state 值,解决你重复性写 action 、reducers 问题
  • 内置 seamless-immutable ,只需开启配置,让你的数据不可变
  • 默认检测不规范的赋值与类型错误,让你的数据更加健壮
  • 前言 今天给大家带来一款 redux 中间件 :  rc-redux-model,为你们 ✍️ 提供一种较为舒适的数据状态管理书写方式,让你简洁优雅的去开发;内部自动生成 action, 只需记住一个 action,可以修改任意的 state 值,方便简洁,从而释放你的 ⌨️ CV 键~ 源码仓库地址 : rc-redux-model ,如果你觉得不错,求个 ✨ 背景 相信大家都了解 redux

 相关资料
  • 1: ASR语言模型在线训练工具 2: TTS在线语音合成工具

  • Redux 很大部分 受到 Flux 的启发,而最常见的关于 Flux 的抱怨是必须写一大堆的样板代码。在这章中,我们将考虑 Redux 如何根据个人风格,团队偏好,长期可维护性等自由决定代码的繁复程度。 Actions Actions 是用来描述在 app 中发生了什么的普通对象,并且是描述突变数据意图的唯一途径。很重要的一点是 不得不 dispatch 的 action 对象并非是一个样板代码

  • 当编写< code>redux-thunk函数(称为thunks)时,有许多样板文件可以很容易地提取出来。例如,在我们的大多数异步API调用中,我们执行以下操作,没有任何副作用: 轻松点。虽然这至少涵盖了我们70%的请求,但我确信有一种优雅的方式可以将上述代码抽象为类似这样的代码(伪代码): 当我们需要检查状态和其他副作用时,我们可以返回到适当的thunk。尽管在大多数情况下...我们可以把它砍掉

  • 本文向大家介绍Java编码辅助工具Lombok用法详解,包括了Java编码辅助工具Lombok用法详解的使用技巧和注意事项,需要的朋友参考一下 前言 在项目开发过程中,经常会涉及到一些调整很少但又必不可少的环节,比如实体类的Getter/Setter方法,ToString方法等。这时可以使用Lombok来避免这种重复的操作,减少非核心代码的臃肿,提高编码效率。 如何在IntelliJ IDEA中引

  • 由于 Go 标准库的强大支持,Go 可以很容易的进行 Web 开发。为此,Go 标准库专门提供了 httptest 包专门用于进行 http Web 开发测试。 本节我们通过一个社区帖子的增删改查的例子来学习该包。 简单的 Web 应用 我们首先构建一个简单的 Web 应用。 为了简单起见,数据保存在内存,并且没有考虑并发问题。 // 保存 Topic,没有考虑并发问题 var TopicCach

  • 本文向大家介绍微信跳一跳辅助Java代码实现,包括了微信跳一跳辅助Java代码实现的使用技巧和注意事项,需要的朋友参考一下 微信跳一跳辅助的Java具体实现代码,供大家参考,具体内容如下 1.参考知乎教你用Python来玩微信跳一跳,鉴于本人Python一直都是半吊子水平,之前打算用python刷分,可无奈安装python环境各种模块缺失,报错不停,于是乎,使用Java重新实现了一下。 2.环境配