是否可以使用React useContext钩子嵌套React上下文?

时间:2019-11-24 20:17:13

标签: reactjs react-hooks react-context

我有一个useContext Provider嵌套在另一个useContext Provider中。我遇到了无限循环-是否有可能使用钩子嵌套上下文?

我的实现有很多代码,因此我将尝试总结一下。我的App.js具有像这样的嵌套提供程序:

<ApolloProvider client={authState.client}>
      <UserProvider>
        <PublicRoute path='/' component={LoginForm} exact restricted={true} />
        <Layout>
          <PrivateRoute path='/dashboard' component={Dashboard} exact/>
          <AccountProvider>
            <PrivateRoute path='/accounts' component={Accounts} exact/>
          </AccountProvider>
          <PrivateRoute path='/plans' component={Dashboard} exact/>
          <PrivateRoute path='/activity' component={Dashboard} exact/>
          <PrivateRoute path='/support' component={Dashboard} exact/>
        </Layout>
      </UserProvider>
    </ApolloProvider>

我的AccountContext.js使用调度功能初始化状态:

  const [accountState, accountDispatch] = React.useReducer(accountReducer, initialAccountState)

我的accountReducer就是这样启动的,到目前为止,只有在达到action.type大小写的情况下才记录一个动作。

export default (accountState, accountAction) => {
    const [getAccount, { loadingGetAccount, errorGetAccount }] = useQuery(GET_ACCOUNT)

    switch (accountAction.type) {

等...

得到错误“与上次渲染相比,渲染了更多的挂钩”。

0 个答案:

没有答案