如何在react组件中调用mapStateToProps以获取Redux存储

时间:2017-11-17 19:21:42

标签: javascript reactjs react-redux

我正在尝试将存储的Redux状态设置为组件的props。我的组件实现在

之下
import React, { Component } from 'react';
import {connect} from 'react-redux';

class Characters extends Component {
    render() {
        console.log('props', this.props);
        return(
            <div>
                <h4>Characters</h4>
            </div>
        )
    }
}

const mapStateToProps = state => {
    return {
        characters: state.characters
    }
}

export default connect()(Characters);

我的减速机设置如下。现在我的console.log()打印出一个派遣对象而不是道具。我不确定我还需要做什么来设置组件的道具。我测试了我的减速器,它们似乎工作正常。我无法将组件的道具设置到redux商店。下面是我的主要减速器。

import { combineReducers } from 'redux';
import characters from './characters_reducer';
import heroes from './heroes_reducer';

const rootReducers = combineReducers({
    characters,
    heroes
});

export default rootReducers;

不确定我在这里做错了什么。一点帮助和正确方向的铰链将有很大帮助。谢谢:))

2 个答案:

答案 0 :(得分:3)

您忘记将mapStateToProps传递给连接:

export default connect(mapStateToProps)(Characters);

答案 1 :(得分:1)

您需要将actionCreators和mapStateToProps函数传递给connect函数,以便能够从组件访问商店:

export default connect(mapStateToProps)(Characters);