import React from ‘react‘; import ReactDOM from ‘react-dom‘; import TodoList from ‘./TodoList‘; import { Provider } from ‘react-redux‘; const App = ( <Provider> <TodoList /> </Provider> ) ReactDOM.render(App, document.getElementById(‘root‘));
import React from ‘react‘; import ReactDOM from ‘react-dom‘; import TodoList from ‘./TodoList‘; import { Provider } from ‘react-redux‘; import store from ‘./store‘; const App = ( <Provider store={store}> <TodoList /> </Provider> ) ReactDOM.render(App, document.getElementById(‘root‘));
import React, { Component } from ‘react‘;
import { connect } from ‘react-redux‘;
class TodoList extends Component{
render() {
return (
<div>
<div>
<input value={this.props.inputValue} onChange = { this.props.changeInputValue}/>
<button>提交</button>
</div>
<ul>
<li>1</li>
</ul>
</div>
)
}
}
/**
* 这个意思是让TodoList这个组件和store进行连接。所以connect方法是做连接。
* 要连接就有连接的方式,所以第一个参数mapStateToProps
* 他的意思是TodoList与store做连接就有一个规则,规则在哪里,规则在mapStateToProps里面
*/
//mapStateToProps,把store里面的数据映射给这个组件,并变成组件的props. 而参数state就是指store里面的数据。
const mapStateToProps = (state) => {
return {
inputValue: state.inputValue
}
}
/***
* 我让Todolist这个组件跟store做关联,store里面的数据会映射到props上面
* 同时如果我想对store的数据做修改,也可以通过store的props来做修改
* mapDispatchToProps,dispatch,派发,把store的dispatch方法挂载到props上
*
*/
const mapDispatchToProps = (dispatch) => {
return {
changeInputValue(e){
const action = {
type: ‘change_input_value‘,
value: e.target.value
}
dispatch(action);
}
}
}
export default connect(mapStateToProps, mapDispatchToProps)(TodoList);
原文:https://www.cnblogs.com/wzndkj/p/10575961.html