如何从使用者更新提供者状态?上下文API React

时间:2019-02-20 00:20:44

标签: reactjs react-state-management

我有一个类提供程序,可在加载应用程序时获取数据,然后在我的应用程序中使用该数据。

在另一个文件中,我正在使用用户详细信息进行POST,我想在Provider中更新该用户详细信息,以便可以将其用于全局状态。

这是我的提供者

 export class Provider extends Component {
    constructor(props) {
        super(props);
  this.state = {
    objData:{},
    userdata:{},
    dataloading: true,
  usernotexist:false,
  myvalue:"1"


  };
}

  componentWillMount() {
    var user =  Auth.currentAuthenticatedUser({
        bypassCache: false 
        }).then(user => {       
    this.setState({objData: user}   
    );
            if (this.state.objData.name)
             {
                console.log("facebook")
                }
                else
                { 

    axios
      .get(
        `http://localhost:3000/users?email_id=${this.state.objData.attributes.email}`
      )
      .then(res => { console.log(res.data)

        this.setState({ userdata: res.data });


      })
      .catch(err => console.log(err));
    }})
  }

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

export const Consumer = Context.Consumer;

我想从另一个文件中的子组件更新状态下的用户数据,但是我不知道如何做,可以在这里获得帮助。

0 个答案:

没有答案