Привет!
Пробую внедрить Context Api в мой проект. И сейчас я пытаюсь понять: возможно ли передать данные
снизу вверх, т.е.
из дочерних компонентов к родителю или
из Consumers в Provider?
Пример:
React.createContextexport const eventData = {
topic: "defaultTopic",
};
export const CreateEventFormContext = React.createContext(eventData);
Есть типичный input для ввода текста.
valueFromProvider
в
Consumer
пока никак не используется. Но я хочу передавать значение атрибута
value
, которое динамически меняется с помощью
handleChange
в
Provider
. Ну а затем из
Provider
я планирую передавать данные в
ControlForm.jsx и оттуда буду отправлять массив данных в базу.
CreateEventFormConsumer...
handleChange(event) {
this.setState({ value: event.target.value });
}
...
<CreateEventFormContext.Consumer>
{valueFromProvider => (
<input type="text" value={this.state.value} onChange={this.handleChange} />
)}
</CreateEventFormContext.Consumer>
CreateEventFormProvider<CreateEventFormContext.Provider value="HELLO WORLD">
<Topic />
</CreateEventFormContext.Provider>
Таким образом я передал строку
HELLO WORLD
в
valueFromProvider
в моем
Consumer
. Но как мне сделать тоже самое только наоборот? Когда начал вникать в
Context Api
думал что это избавит меня от колбеков, но пока кроме колбека не вижу другого варианта передать данные вверх.
Как передать данные снизу вверх с помощью Context API React ?