Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ReactJS中为表单组件创建ContextProvider_Reactjs_React Component_React Context - Fatal编程技术网

在ReactJS中为表单组件创建ContextProvider

在ReactJS中为表单组件创建ContextProvider,reactjs,react-component,react-context,Reactjs,React Component,React Context,我已经为我创建的表单组件创建了一些上下文。现在,我已经在我的应用程序根目录下为该上下文创建了一个提供者。但我想知道这是否是做事情的最好方式 许多页面上没有表单。为什么我要在这些页面上提供非必需的代码?或者这真的没什么大不了的 如果最好不要这样做,那么关于如何仅在使用表单组件的页面上添加提供程序的任何想法?您可以使用该提供程序创建一个HOC,并仅在您想要的组件中使用它 const withForm = Component => { return ( <P

我已经为我创建的表单组件创建了一些上下文。现在,我已经在我的应用程序根目录下为该上下文创建了一个提供者。但我想知道这是否是做事情的最好方式

许多页面上没有表单。为什么我要在这些页面上提供非必需的代码?或者这真的没什么大不了的


如果最好不要这样做,那么关于如何仅在使用表单组件的页面上添加提供程序的任何想法?

您可以使用该提供程序创建一个HOC,并仅在您想要的组件中使用它

const withForm = Component => {    
    return (
        <Provider>
            <Component />
        <Provider>        
    )
}

// other file 
export const MyComponentWithForm = withForm(MyComponent) 
constwithform=Component=>{
返回(
)
}
//其他文件
导出常量MyComponentWithForm=withForm(MyComponent)
这个例子非常简单,但它只是为了让您能够理解它应该如何工作(这个例子中有很多遗漏的部分)

另外请注意,如果您使用的是类组件,那么您也可以为
消费者执行此操作