0

我正在尝试找出一个使用 React、Redux 和 Redux-Saga 的内部 Web 项目。

有一个 React 组件似乎比项目的其他部分复杂得多,我就是不知道到底发生了什么。

我在尝试破译代码块底部的导出默认连接语句中发生的事情时失败了。

具体来说,我看到这两个对象/事物作为道具传递给VehicleFuelType组件:

  • 反应
  • onConfigurePropulsion
  • 汽油种类

但是我看不到导出默认连接语句中的这些对象发生了什么。

我已经阅读了一堆 redux 文档,但这对我来说仍然是个谜。

如果有人知道这个代码块中实际发生了什么,你能分享一下知识吗?

谢谢!

class vehicleDisplay extends React.Component {

componentDidMount() {
    this.props.onConfigurePropulsion();
}

render() {

    return (
       <div>
           {fuelType.valueSeq().map(f =>
             <div>    
               <VehiclefuelType
                   key={f.id}
                   fuelType={f}
                   reaction={reactions.find(r => r.fuelTypeId === f.id)}
                   onReaction={!fatalReaction ? () => onReaction(f.id) : () => null}
               />
            </div>
      </div>
    )
}

export default connect(
    (state, { propulsionId, currentVehicleId }) => ({
        propulsion: state.propulsions.get(propulsionId),
        fuelTypes: state.fuelTypes.filter(f => f.propulsionId === propulsionId),
        reactions: state.reactions.filter(r => r.propulsionId === propulsionId),
    }),
    (dispatch, { propulsionId }) => ({
        onConfigurePropulsion: () => dispatch(Actions.configurePropulsion(propulsionId)),
        onReaction: (fuelTypeId) => dispatch(Actions.saveReaction(propulsionId, alternativeId))
    })
)(vehicleDisplay)
4

1 回答 1

3

connect接受两个参数,mapStateToProps并且mapDispatchToProps. 这些通常被分离成它们自己的变量,但是这个人是内联的。这里的第一个参数是从状态中检索值并将它们放入组件的props. 第二个是为 redux 操作设置调度,然后也可以通过props. 更多信息可以在这里找到。

于 2018-07-11T16:39:19.677 回答