我有一个类提供程序,可在加载应用程序时获取数据,然后在我的应用程序中使用该数据。
在另一个文件中,我正在使用用户详细信息进行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;
我想从另一个文件中的子组件更新状态下的用户数据,但是我不知道如何做,可以在这里获得帮助。