React Native 中的 Context API 是一个用于在组件树间共享数据的方法。它提供了一种无需明确数据传递方式,而可以在组件间共享状态的方式。

使用场景

  • 在组件树中需要跨多层传递数据时。
  • 需要避免通过 props 逐层传递导致的组件层级过深。

基本用法

  1. 创建一个 Context 对象:
import React from 'react';

const MyContext = React.createContext(defaultValue);
  1. 在顶层组件中,使用 <MyContext.Provider> 包裹要共享状态的组件:
<MyContext.Provider value={{someData}}>
  {/* 包含 Context 值的组件树 */}
</MyContext.Provider>
  1. 在任何子组件中,使用 Context.ConsumeruseContext 来订阅 Context 值:
// 使用 Context.Consumer
<MyContext.Consumer>
  {value => /* 使用 value */}
</MyContext.Consumer>

// 使用 useContext 钩子
import {useContext} from 'react';
const value = useContext(MyContext);

注意事项

  • 使用 Context API 应当谨慎,滥用可能会导致组件状态难以跟踪和维护。
  • 当 Context 值发生变化时,其消费者组件会自动重新渲染。

更多关于 React Native 的教程,可以查看React Native 教程

React_Native_Context_API