Я изучил это руководство https://reactjs.org/docs/context.html
И написал этот код
UserContext. js:
import React from 'react';
const UserContext = React.createContext();
export default UserContext;
Приложение. js:
class App extends React.Component {
constructor(props) {
super(props);
this.state = {
id: '',
name: ''
};
}
componentDidMount() {
this.getAccountData();
}
async getAccountData() {
this.setState({
id: 123,
name: "Jacob"
});
}
render() {
return (
<UserContext.Provider value={this.state}>
<Account />
</UserContext.Provider>
);
}
}
Account. js:
class Account extends React.Component {
static contextType = UserContext;
render() {
return (
<UserContext.Consumer>
{user => (
<div className="account">
<p>{user.id} - {user.name}</p>
</div>
)}
</UserContext.Consumer>
)
}
}
Переменная user.id остается пустой строкой! Я пытался вручную изменить this.context, но это также не работает, он делает копию по ходу дела. Кроме того, в документации ничего нет об этом. Что можно сделать или просто сделать весь проект одним файлом и не думать об этом?