React Native中的useContext

时间:2019-09-23 10:12:36

标签: reactjs react-native

我一直在尝试在React Native中使用上下文挂钩,但是它似乎不起作用,它返回undefined。但是,当我使用<Context.Consumer>时,它确实可以正常工作,您知道React Native是否支持useContext吗?

1 个答案:

答案 0 :(得分:0)

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>
  );
};

像这样包装您的应用。

<AppStateProvider>
    <App />
</AppStateProvider>

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

import {AppStateContext} from './AppStateProvider';

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