reactjs - 在 ReactJS 中为表单组件创建 ContextProvider
问题描述
我为我创建的表单组件创建了一些上下文。现在,我在我的应用程序的根目录中为该上下文创建了一个提供程序。但我想知道这是否是最好的做事方式。
有许多页面上没有表格。为什么我要在这些页面上提供不需要的代码?还是真的没什么大不了的?
如果最好不要这样做,那么关于如何仅在使用表单组件的那些页面上添加提供程序的任何想法?
解决方案
您可以做的是使用该 Provider 创建一个 HOC,并仅在您想要的组件中使用它。
const withForm = Component => {
return (
<Provider>
<Component />
<Provider>
)
}
// other file
export const MyComponentWithForm = withForm(MyComponent)
这个例子非常简单,但它只是为了让你了解它应该如何工作(这个 HOC 中有很多缺失的部分)。
另请注意,Consumer
如果您使用类组件,您也可以这样做。
推荐阅读
- flask - GKE 上的服务+部署在 30 分钟后挂断
- python - 解码以 \x02 开头并以 \x03 控制字符结尾的字节
- c - 为什么分配在范围之外仍然存在,但声明却没有
- python - 在 Jupyter Notebook 中加载自定义函数
- node.js - Discord.js 通过 ID 获取用户
- javascript - 根据已知的开始和结束拆分 url 字符串,段之间可选未知
- javascript - 如何从 Facebook 授权请求中获取代码?
- javascript - 有没有办法绕过 Chrome desktopCapture 的选择媒体屏幕?
- php - 如何在我的 JSON 字符串 POST 前后删除斜杠
- php - laravel 中的动态关系使用子查询来进行归属关系