返回介绍

什么是上下文(Context)?

发布于 2024-08-09 20:39:58 字数 746 浏览 0 评论 0 收藏 0

Context 通过组件树提供了一个传递数据的方法,从而避免了在每一个层级手动的传递 props 。比如,需要在应用中许多组件需要访问登录用户信息、地区偏好、UI 主题等。

// 创建一个 theme Context,  默认 theme 的值为 light
const ThemeContext = React.createContext('light');

function ThemedButton(props) {
// ThemedButton 组件从 context 接收 theme
return (
  <ThemeContext.Consumer>
    {theme => <Button {...props} theme={theme} />}
  </ThemeContext.Consumer>
);
}

// 中间组件
function Toolbar(props) {
return (
  <div>
    <ThemedButton />
  </div>
);
}

class App extends React.Component {
render() {
  return (
    <ThemeContext.Provider value="dark">
      <Toolbar />
    </ThemeContext.Provider>
  );
}
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文