2015-09-17 5 views
4

Я создал форму в дочернем компоненте. После отправки этой формы с использованием метода jquery ajax ($.ajax) Я возвращаю некоторые данные в формате json. Я хочу поместить эти данные в состояние родительского компонента. Итак, есть ли какой-либо метод в response.js для передачи значения или данных из дочернего компонента в его родительский компонент?Передача данных родительскому компоненту в реакцию

Спасибо ..

ответ

11

Способ сделать это без какого-либо Flux реализации является создание функции для родительского элемента, который обрабатывает ответ/данные от ребенка и передать эту функцию в качестве опоры. Затем вызовите эту функцию из дочернего элемента. Что-то вроде этого:

Родитель:

handleResponse(data) { 
    console.log(data) 
} 

render() { 
    return(
    <div> 
     <Child handleResponse={this.handleResponse} /> 
    </div> 
); 
} 

тогда у ребенка:

handleAjax() { 
    $.get(url).then((response) => { 
    this.props.handleResponse(response) 
    }); 
} 

все это предполагает синтаксис ES6. Используя ES5, вам нужно будет использовать bind или var that = this, чтобы правильно охватить все.

+0

Это нормально работает в моей настройке dev. Я бы подумал, что необходимо явно установить «реквизит» в родительском, но не нужно. Благодаря! – j4v1

Смежные вопросы