reactjs 使用React Native

roejwanj  于 2023-03-22  发布在  React
关注(0)|答案(2)|浏览(160)

我尝试在React Native中使用context hook,但似乎不起作用,它返回undefined。然而,当我使用<Context.Consumer>时,它确实工作正常,您知道React Native是否支持useContext吗?

b1uwtaje

b1uwtaje1#

react native绝对支持useContext。使用React.createContext()创建上下文。

export const AppStateContext = React.createContext();

const AppStateProvider = props => {

  const contextValue={...yourContext}

  return (
    <AppStateContext.Provider value={contextValue}>
      {props.children}
    </AppStateContext.Provider>
  );
};

像这样 Package 您的应用程序。

<AppStateProvider>
    <App />
</AppStateProvider>

然后,您可以使用useContext钩子访问嵌套组件中的上下文。

import {AppStateContext} from './AppStateProvider';

function YourComponent(props) {
  const {context} = useContext(AppStateContext)
  
  ...
    return (
      <View>
      ...
      </View>
  );
}
hgc7kmma

hgc7kmma2#

useContext和useReducer都是React提供的钩子,可用于以更有效和集中的方式管理状态。示例:
https://medium.com/@diliplohar204/react-usecontext-and-usereducer-hooks-3ec2a323e207

相关问题