javascript 具有State和Consumer HOC的ReactJS Context API提供程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 具有State和Consumer HOC的ReactJS Context API提供程序相关的知识,希望对你有一定的参考价值。

import React, { createContext } from 'react';

const UserContext = createContext();

export default class UserProvider extends React.Component {
    constructor(props) {
        super(props);

        this.state = {
            user: {},
            updateUser: this.updateUser
        };
    }

    updateUser = (newUser) => {
        this.setState({
            user: newUser
        });
    }

    render() {
        return (
            <UserContext.Provider value={this.state}>
                {this.props.children}
            </UserContext.Provider>
        )
    }
};

export const withUserContext = Inner => props => {
    return (
        <UserContext.Consumer>
            {context => {
                return <Inner user={context.user} updateUser={context.updateUser} {...props} />
            }}
        </UserContext.Consumer>
    );
};

以上是关于javascript 具有State和Consumer HOC的ReactJS Context API提供程序的主要内容,如果未能解决你的问题,请参考以下文章

javascript 比较mobx-state-tree和redux

javascript 使用Reducers for State的简单和复杂版本

如何在 Javascript 中实现安全的 OAuth2 消费?

原生 JavaScript 实现 state 状态管理系统

javascript 直接收听Redux State Updates

javascript ajax state #js