我正在玩React和Redux,并遇到了一些连接问题。
const AppConnected = connect((state) => {text: state.text})(App);
在第一个示例中,我收到错误消息Cannot get 'text' of undefined
,而第二个示例运行没有问题。这背后的原因是什么?
const AppConnected = connect((state) => {
return {
text: state.text
}
})(App);
答案 0 :(得分:2)
你没有像你想象的那样在第一个例子中返回一个对象。您正在使用名为text
的标签定义函数体。
要从箭头返回对象文字,您需要将其包装在()
。
(state) => ({})
JavaScript中的标签用于控制执行流程。这不是推荐的模式,但是这样工作:
function () {
text: while(someCondition){ // Label
if (someOtherCondition) {
continue text;
}
}
}
答案 1 :(得分:2)