类比React
在 React 中,@EnvironmentObject
的概念可以对应于 Context API。React 的 Context API 允许在组件树中共享状态,类似于 SwiftUI 中的 @EnvironmentObject
。
React 的 Context API 的用法可以通过以下几个步骤实现:
创建 Context: 使用
React.createContext()
创建一个 Context 对象。const ProductsContext = React.createContext();
提供 Context: 在应用的某个父组件中,使用
ProductsContext.Provider
提供共享的数据。function App() { const productsModel = { /* 一些共享的数据 */ }; return ( <ProductsContext.Provider value={productsModel}> <ContentView /> </ProductsContext.Provider> ); }
消费 Context: 在子组件中,可以使用
useContext
钩子来访问 Context 中的值,相当于 SwiftUI 中的@EnvironmentObject
。import { useContext } from 'react'; function ContentView() { const productsModel = useContext(ProductsContext); return ( <div>{/* 使用 productsModel */}</div> ); }
React 的 Context API 与 SwiftUI 的 @EnvironmentObject
类似,都用于在组件树中共享状态,避免手动逐级传递 props。
Last updated