2014-09-08 4 views
1

здесь мой код:Pass обновленные данные в корневой компонент

var data = "hello"; 

var RootComponent = React.createClass({ 
    render: function() { 
     return (
      <p className="root"> 
       {this.props.data} 
      </p> 
     ); 
    } 
}); 

React.renderComponent(
    <RootComponent data="data" />, 
    document.getElementById('content') 
); 

Я хочу, чтобы изменить значение данных (изначально привет), поэтому страница обновляется с новым значением данных. Но функция, которая меняет данные, не находится в React, и я не могу найти способ «подключить» их. Есть идеи, как это сделать?

Спасибо.

+2

Вы можете вызвать 'React.renderComponent (...)' снова после того, как данные были изменены. –

ответ

1

Слушайте изменения и вызывайте React.renderComponent(), как упоминалось в Felix. Документация по реагенту:

Оформить реактивный компонент в DOM в поставляемом контейнере и вернуть ссылку на компонент.

Если компонент React был предварительно отображен в контейнере, этот будет выполнять обновление на нем и только мутировать DOM по мере необходимости , отражая последний компонент React.

Если предоставляется необязательный обратный вызов, он будет выполнен после обработки или обновления компонента .

Если у вас есть возможность изучить использование Flux Stores для вашего модельного слоя, я настоятельно рекомендую вам это сделать.

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