React + Redux:状态未定义

时间:2016-08-01 08:36:31

标签: reactjs redux react-redux

我正在玩React和Redux,并遇到了一些连接问题。

const AppConnected = connect((state) => {text: state.text})(App);

在第一个示例中,我收到错误消息Cannot get 'text' of undefined,而第二个示例运行没有问题。这背后的原因是什么?

const AppConnected = connect((state) => {
    return {
        text: state.text
    }
})(App);

2 个答案:

答案 0 :(得分:2)

你没有像你想象的那样在第一个例子中返回一个对象。您正在使用名为text的标签定义函数体。

要从箭头返回对象文字,您需要将其包装在()

(state) => ({})

JavaScript中的标签用于控制执行流程。这不是推荐的模式,但是这样工作:

function () {
text: while(someCondition){ // Label
  if (someOtherCondition) {
    continue text;
  }
} 
}

答案 1 :(得分:2)

DOCS:

对主体进行括号以返回对象文字表达式:

const AppConnected = connect(state => ({text: state.text}))(App);