Я пытаюсь экспериментировать здесь. Я хочу создать компонент, который автоматически заполняет некоторые данные из запроса ajax после установки. Что-то вроде этого:Детский динамический контент с реакцией
var AjaxComponent = React.createClass({
getInitialState: function() {
return {
data: {}
};
},
render: function() {
return (
<div>
{this.state.data.text}
</div>
);
},
componentDidMount: function() {
makeAjaxResquest(this.props.url).then(function(response){
this.setState({
data: response.body // or something
});
}.bind(this));
}
});
С этим примером компонентом, я хотел бы использовать <AjaxComponent url="/url/to/fetch" />
для отображения содержимого.
Теперь, если я хотел бы получить доступ к различным битам данных из дочерних элементов? Могу ли я сделать что-то подобное?
<AjaxComponent url="/url/to/fetch">
<div>
<header>{RESPONSE.title}</header>
<div>
{RESPONSE.text}
</div>
</div>
</AjaxComponent>
Нет проблем, если он ничего не отображает перед завершением запроса ajax. Дело в том, как я могу передать данные для детей для рендеринга, не как реквизит. Является ли это возможным?
Почему * не как реквизит *? Это похоже на самый логичный подход. – David
Передача данных в качестве реквизита не сделает его доступным из родительского компонента, который отображает AjaxComponent в качестве дочернего элемента. Не так ли? – ezakto