Да, это возможно.Вам нужно будет отправить данные в качестве реквизита родителю.Если вы не сделали этого раньше, это может показаться немного сложным, но вы получите это.
От родителя:
<LightboxComponent
userData={this.handleUserData(data)}
/>
handleUserData(data) {
/* Do something with the data here */
}
От ребенка:
Для отправки данных вам нужно установить событие onChange или подобное на входе, который вы хотите захватить, например:
<input name="user-name" onChange={ (e) => this.props.userData(e.target.value) }
Это заставит входные данные от дочернего элемента быть отправленными родительскому элементу.Каждое изменение будет вызывать повторный рендеринг затронутых компонентов.
Если ваше приложение жалуется на невозможность правильно установить setState, тогда вам нужно связать this в конструкторе родителей следующим образом:
this.handleUserData = this.handleUserData.bind(this);