react-reducer-provider
Version:
Asynchronous/Synchronous React Centralized State with Hooks and HOC
18 lines (15 loc) • 532 B
JavaScript
// Copyright (c) 2020 Gonzalo Müller Bravo.
// Licensed under the MIT License (MIT), see LICENSE.txt
import * as React from 'react'
import { imbueContextProvider } from './imbueContextProvider'
export function injectTaggedState(WrappedComponent, propName, tag, id) {
return class extends React.Component {
constructor(props) {
super(props)
imbueContextProvider(this, id)
}
rwc(context) {
return React.createElement(WrappedComponent, { ...this.props, [propName]: context.get(tag)[0] })
}
}
}