天天看点

mapStateToProps

mapStateToProps 是一个函数(函数名可以自定义),它的作用就像它的名字那样,建立一个从(外部的)state对象到(UI组件的)props对象的映射关系。

作为函数,mapStateToProps执行后应该返回一个对象,里面的每个键值就是一个映射。

如下所示:

function mapStateToProps(state) {
    return {
        count: state.number,
        list: state.list
    }
}
           
export default connect(
    mapStateToProps,
)(Login)
           

在这里不一定非要mapStateToProps这个函数,也可以直接在connect里面写。

export default connect(state=>{
	return {
		count: state.number,
        list: state.list
	}
})(Login)
           

提问:

state从何而来?

来此下面的store

class App extends Component {
  render() {
    return (
        <Provider store={store}>
            <Router>
                <div className='wrapper center'>
                    <Route path='/' component={Login}></Route>
                    <Route path='/main' component={Index}></Route>
                </div>
            </Router>
        </Provider>

    );
  }
}

export default App;