Skip to content

rockettomatooo/react-recursive-context

Repository files navigation

react-recursive-context

Usage

import { createRecursiveContext } from 'react-recursive-context'

type MyRecursiveContextProps = { 
    value?: number
}

const [Provider, useProvider] = createRecursiveContext<MyRecursiveContextProps>({value: 0}, {
    getValue: (state) => state.props.value ?? state.ctxProps.value
    setValue: (state, value: number) => state.setProps({ value: 0 })
})



function MyConsumerComponent() {
    const [api] = useProvider()

    return (
        <>
            {api.getValue()}
            <button onClick={() => api.setValue(2)}>Update</button>
        <>
    )
}


ReactDOM.render(
    <Provider>
        <MyConsumerComponent />
    </Provider>
)

About

a recursive context for react.js

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published