add provider config to baseWrapContext

This commit is contained in:
Vut Pov 2020-07-15 12:11:11 +07:00
parent a3db95395e
commit b35ca2e9a3
4 changed files with 13 additions and 5 deletions

View File

@ -8,4 +8,6 @@ const App = () => {
</div>
}
export default wrapTestProvider(App)
export default wrapTestProvider(App, {props: {
chambers: 70
}})

View File

@ -28,6 +28,7 @@ export const useTestContext = baseUseContext(Context)
export const withTestContext = baseWithContext(Context, 'testContextProps')
// @ts-ignore
export const wrapTestProvider = baseContextWrap(TestContextProvider)
export default TestContextProvider

View File

@ -1,6 +1,6 @@
{
"name": "base-context-provider",
"version": "1.0.2",
"version": "1.0.2-a",
"description": "Made with create-react-library",
"author": "vuthpov",
"license": "MIT",

View File

@ -27,14 +27,19 @@ class BaseContextProvider<PROPS = {}, STATE = {}> extends React.Component<
const contextReturn = this.getContextReturnValue()
const Context = this.getContext()
const { children } = this.props
return <Context.Provider value={contextReturn}>{children}</Context.Provider>
}
}
interface ContextWrapConfig {
props: {
[index: string]: any
}
}
export const baseContextWrap = (Provider: any) => {
return (Component: any) => (props: any) => (
<Provider children={<Component {...props} />} />
return (Component: any, config?: ContextWrapConfig) => (props: any) => (
<Provider {...config} children={<Component {...props} />} />
)
}