【发布时间】:2020-07-23 14:30:08
【问题描述】:
我是一个 Redux 新手,当我看到下面的代码时,我被空的 mapStateToProps 函数弄糊涂了:
const mapStateToProps = state => {
return {};
}
据我了解,上面的函数什么也没做,所以 Redux 不会给组件任何数据。但实际上该组件确实获得了数据。我很困惑,整个代码如下:
const mapStateToProps = state => {
return {};
};
const mapDispatchToProps = dispatch => {
return {
updateConfigs: (id, updConfigs) => {
dispatch(updateActionConfig(id, updConfigs));
}
};
};
class TestConfigContainer extends React.Component {
constructor(props) {
super(props);
const { configs } = props;
let stateConfigs = Object.assign({}, configs);
this.state = {
configs: stateConfigs,
};
}
componentDidUpdate(prevProps) {
const configs = Object.assign({}, this.props.configs);
const prevConfigs = Object.assign({}, prevProps.configs);
if (!_.isEqual(configs, prevConfigs)) {
let stateConfigs = Object.assign({}, configs);
this.setState({
configs: stateConfigs,
});
}
}
render() {
const { configs: stateConfigs } = this.state;
const { configs: propsConfigs } = this.props;
let configs = getConfigs(stateConfigs);
return (<DetectionConfig configs={configs} onSubmit={this.handleSubmit} />);
}
}
export default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(TestConfigContainer));
请问这行是什么意思:const { configs: stateConfigs } = this.state,我从未见过这种语法。
【问题讨论】: