Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 使用typescript和redux检查MapStateTops中的类型状态_Reactjs_Typescript_Redux - Fatal编程技术网

Reactjs 使用typescript和redux检查MapStateTops中的类型状态

Reactjs 使用typescript和redux检查MapStateTops中的类型状态,reactjs,typescript,redux,Reactjs,Typescript,Redux,有没有办法只检查容器的子状态 我现在就是这样做的: const mapStateToProps = (state: rootStateType) => (state.subState); 我希望避免在我的rootReducer和所有容器之间创建依赖关系,只是为了进行类型检查。我认为每个容器只关心它自己的子状态和类型检查是有道理的 我本来打算执行以下操作,但据我所知,它不会对已破坏结构的对象进行类型检查,而是在破坏结构之前进行类型检查 const mapStateToProps = ({s

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

我现在就是这样做的:

const mapStateToProps = (state: rootStateType) => (state.subState);
我希望避免在我的rootReducer和所有容器之间创建依赖关系,只是为了进行类型检查。我认为每个容器只关心它自己的子状态和类型检查是有道理的

我本来打算执行以下操作,但据我所知,它不会对已破坏结构的对象进行类型检查,而是在破坏结构之前进行类型检查

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

有什么想法吗?不确定约定是什么,可能只是最好在每个容器中键入整个状态。

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

在你的情况下,如果你有一个选择器

const getSubState = (state): subStateType => state.subState;
然后您可以将它与mapStateToProps一起使用,并相应地键入状态片。您可以将这些选择器与减速机保持在同一模块中,并将它们导入到组件中

const mapStateToProps = state => getSubState(state);

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

在你的情况下,如果你有一个选择器

const getSubState = (state): subStateType => state.subState;
然后您可以将它与mapStateToProps一起使用,并相应地键入状态片。您可以将这些选择器与减速机保持在同一模块中,并将它们导入到组件中

const mapStateToProps = state => getSubState(state);