gpt4 book ai didi

javascript - Redux 如何将状态传递给 mapStateToProps?

转载 作者:数据小太阳 更新时间:2023-10-29 05:46:21 25 4
gpt4 key购买 nike

我试图了解 React 和 Redux 是如何工作的,我正在查看来自 this example project 的 FuelSavingsPage.js .我在 mapDispatchToProps 中得到了 actions 的来源,但我不明白 state 是如何传递给 mapStateToProps或者 dispatch 如何传递给 mapDispatchToProps。这是怎么回事?

import React, {PropTypes} from 'react';
import {connect} from 'react-redux';
import {bindActionCreators} from 'redux';
import * as actions from '../actions/fuelSavingsActions';
import FuelSavingsForm from '../components/FuelSavingsForm';

export const FuelSavingsPage = (props) => {
return (
<FuelSavingsForm
saveFuelSavings={props.actions.saveFuelSavings}
calculateFuelSavings={props.actions.calculateFuelSavings}
fuelSavings={props.fuelSavings}
/>
);
};

FuelSavingsPage.propTypes = {
actions: PropTypes.object.isRequired,
fuelSavings: PropTypes.object.isRequired
};

function mapStateToProps(state) {
return {
fuelSavings: state.fuelSavings
};
}

function mapDispatchToProps(dispatch) {
return {
actions: bindActionCreators(actions, dispatch)
};
}

export default connect(
mapStateToProps,
mapDispatchToProps
)(FuelSavingsPage);

最佳答案

connect() 函数中的所有魔法。此函数调用 mapStateToProps 并将 state 作为 Prop 传递。 mapDispatchToPropsdispatch 方法也会发生同样的事情。你可以用下面的伪代码想象一下:

function connect(mapStateToProps, mapDispatchToProps) {
mapStateToProps(store.getState()) // just simple callback
mapDispatchToProps(store.dispatch) // the same
}

关于javascript - Redux 如何将状态传递给 mapStateToProps?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39045378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com