Redux连接时不会在初始加载时调用mapStateToProps或mapDispatchToProps

问题描述 投票:0回答:1

在调试时,我点击了下面的路由器连接功能,但我没有点击mapStateToProps或mapDispatchToProps。我在控制台中看不到任何错误,但由于没有调用mapStateToProps,我没有看到我的商店中的值显示在props中。

因为调用mapStateToProps,所以在调用connect函数时不应该触及mapStateToProps中的debugger吗?我的理解是connect调用传递给它的函数。

大多数类似的问题试图弄清楚为什么mapStateToProps没有被调用状态变化,但我甚至没有做到那么远。我正在谈论组件的初始加载和与商店的连接。

我正在使用路由器进行导入并连接。

export default withRouter(connect(mapStateToProps, mapDispatchToProps)(KpiSummaryContainer) as any);

function mapStateToProps(store: any) {
  debugger;
  return {
      ...store.kpiSummaryState,
  };
}

function mapDispatchToProps(dispatch: any) {
  debugger;
  return {
      selectKpiSummaryTimePeriod: (timePeriod: any) => {
                   dispatch(kpiSummaryActionCreators.onKpiSummaryTimePeriodUpdate(dispatch, timePeriod.value)); 
      }
  };
}
javascript reactjs redux react-props
1个回答
-1
投票

我想如果你写下面的内容,它会起作用:

function mapStateToProps(state,ownProps) {

  return {
   Something : state.Something
  };
}

然后您可以通过以下方式访问商店:

this.props.Something
© www.soinside.com 2019 - 2024. All rights reserved.