Я хочу создать контекст, который на самом деле исходит от некоторой асинхронной службы (например, данные сервера) ..
//the async service to bring the context data
export const fetchContextFromAsycnService = () => {
return new Promise(resolve => setTimeout(
() => resolve('Hey, im in the async context and I am the correct value'), 200)
);
}
class App extends Component {
render() {
let value = 'Im not the correct value';
fetchContextFromAsycnService().then(x => value = x as string);
return (
<AsyncContext.Provider value={value}>
<SomeComponent />
</AsyncContext.Provider>
);
}
}
//user the value
export const SomeComponent = ( ) => {
return (
<AsyncContext.Consumer>
{value => <div>{value}</div>}
</AsyncContext.Consumer>)
}
render(<App />, document.getElementById('root'));
https://stackblitz.com/edit/react-ts-8zzbxa?file=index.tsx
Ожидаемое значение:: Hey, I'm in the async context and I am the correct value
, но по какой-то причине я не получаю данные после того, как они были извлечены.
есть ли способ создать контекст с