【发布时间】:2017-10-12 14:24:21
【问题描述】:
我试图使用 ES6 函数返回数据,但它返回的是函数而不是结果。
根据我的代码,结果应该是真或假
我的代码
get_gathereddata_status.js
export default () => (dispatch, getState) => {
const { experiment } = getState();
const { selectedTab, gatherData } = experiment.tabs;
const { environmentalChanges: { environmentFactor, environmentLocation } } = experiment;
const { populationChanges: { populationlLocation, populationFactor } } = experiment;
if (selectedTab === 'tab1') {
return environmentFactor !== '' && environmentLocation !== '' && !gatherData[selectedTab];
} else if (selectedTab === 'tab2') {
return populationlLocation !== '' && populationFactor !== '' && !gatherData[selectedTab];
}
return false;
};
mapStateToProps
function mapStateToProps({ experiment }) {
const { selectedTab } = experiment.tabs;
const isGatherDataEnabled = gatherDataStatus();
console.log(isGatherDataEnabled);
return {
selectedTab,
isGatherDataEnabled
};
}
console.log 在 mapStateToProps 中
ƒ (dispatch, getState) {
var _getState = getState(),
experiment = _getState.experiment;
var _experiment$tabs = experiment.tabs,
selectedTab = _experiment$tabs.selectedTab,
【问题讨论】:
-
if (selectedTab === 'tab2') { return true; } else if (selectedTab === 'tab2') { return false; }没有任何意义。这将返回true或undefined。 -
条件实在是太大了,因为理解我把它简化了
-
我已经更新了
-
那么第二个
if正文将永远不会被执行。 -
对不起,我已经更新了我的代码,这是我的错误
标签: javascript reactjs ecmascript-6 redux