【问题标题】:Typechecking state in mapStateToProps with typescript and redux使用 typescript 和 redux 在 mapStateToProps 中进行类型检查状态
【发布时间】:2017-09-06 23:08:05
【问题描述】:

有没有办法只检查容器的子状态?

这就是我现在的做法:

const mapStateToProps = (state: rootStateType) => (state.subState);

我想避免在我的 rootReducer 和所有容器之间创建依赖关系,只是为了进行类型检查。我认为每个容器只关心自己的子状态并对其进行类型检查是有道理的。

我有一个想法改为执行以下操作,但据我了解,它不会对解构对象进行类型检查,而是在解构发生之前进行类型检查。

const mapStateToProps = ({subState}: subStateType) => (subState);

有什么想法吗?不太确定约定是什么,也许最好对每个容器中的整个状态进行类型检查。

【问题讨论】:

    标签: reactjs typescript redux


    【解决方案1】:

    在 redux 应用程序中,通过使用选择器、从状态返回状态切片或计算值的函数将组件与状态解耦是很常见的。

    在您的情况下,如果您有类似的选择器

    const getSubState = (state): subStateType => state.subState;
    

    然后您可以将它与 mapStateToProps 一起使用,并且相应地键入状态切片。您可以将这些选择器与您的 reducer 放在同一个模块中,然后将它们导入到您的组件中。

    const mapStateToProps = state => getSubState(state);
    

    【讨论】:

      猜你喜欢
      • 2018-09-28
      • 2020-03-26
      • 2016-12-22
      • 1970-01-01
      • 1970-01-01
      • 2017-02-03
      • 1970-01-01
      • 1970-01-01
      • 2020-12-12
      相关资源
      最近更新 更多