3.0.7 • Published 5 years ago
react-spirits v3.0.7
react-spirits
基于redux 进一步封装, 更方便使用, 同时结构更清晰
优势
- 模块化
- 无需定义各种常量
- 无缝按需加载
- 使用简单
- 热加载
- 维护简单
- 使用ts开发, 拥有自动代码提示
使用方法
- 安装spirits
yarn add react-spirits
- 获取store
- 注入spirits
import spirits from 'react-spirits';
const store = createStore();
spirits(store, asyncReducers); // asyncReducers是老版本维护的所有reducer, 新开项目可以不用传
- 定义model
import {connect} from 'react-spirits';
const model = {
ns: 'eval',
state: {
newsList: null,
abc: 123,
},
mt: {
setNewsList(list) {
this.newsList = list;
},
changeAbc(payload) {
this.abc = payload;
},
},
act: {
getUserInfo(payload, {commit}) {
commit('changeAbc', payload);
//or this.commit('changeAbc', payload);
},
},
};
export default connect(model);
- 使用spirits
import React, { Component } from 'react';
import P from 'prop-types';
import { connect } from 'react-redux';
import model from '../../models/test';
export default
@connect(state => ({ stat: state[model.ns] }))
class App extends Component {
static propTypes = {
stat: P.objectOf(P.any).isRequired,
}
changeColor = () => {
const num = Math.random() * 1000000;
model.act.getUserInfo(num);
}
render() {
const {stat} = this.props;
return (
<div>
<div onClick={this.changeColor}>
{stat.abc}
</div>
</div>
);
}
}
3.0.7
5 years ago
3.0.6
5 years ago
3.0.5
5 years ago
3.0.4
5 years ago
3.0.3
5 years ago
3.0.2
5 years ago
3.0.1
5 years ago
2.1.6
5 years ago
2.1.4
5 years ago
2.1.3
5 years ago
2.1.2
5 years ago
2.1.1
5 years ago
2.1.0
5 years ago
2.0.9
5 years ago
2.0.7
5 years ago
2.0.6
5 years ago
2.0.5
5 years ago
2.0.3
5 years ago
2.0.2
5 years ago
2.0.1
5 years ago
1.0.3
5 years ago
1.0.2
5 years ago
1.0.1
5 years ago
1.0.0
5 years ago