我想使用useSelector()
钩子,但出现上述错误。我在哪里可以使用此钩子访问我的状态数据?
function RetrieveDataSources() {
var dataSources = useSelector(state => state.dataSourcesReducer);
console.log(dataSources);
}
class Data extends Component {
constructor(props) {
super(props);
this.state = {
errorMessage: false,
isLoading: true,
resultData: propsState && propsState.resultData,
};
RetrieveDataSources();
}
render() {
return( some return code );
}
}
export default Data;
答案 0 :(得分:0)
只能在函数组件或自定义挂钩中调用挂钩。 您是从普通函数调用它的,因此会出现错误。
此外,似乎您想从类组件中调用钩子-不幸的是,不直接支持该钩子。如果必须使用类组件,请考虑使用mapStateToProps和connect api来从redux存储中获取它。
如果您仍然喜欢使用类组件中的钩子,则here是使用函数组件和React渲染道具将其与父组件共享的示例。尽管通常无法确定调用方是使用函数组件还是使用类组件,但这通常是由库完成的。