React.js Сервер рендеринга и обработчики событий

Я учусь использовать response.js и у меня есть некоторые проблемы, чтобы использовать обработчики событий. Последний вопрос: можно ли использовать рендеринг на стороне сервера и автоматически отправлять обработчики событий клиенту?

Вот мой пример: у меня есть index.jsx, который я отображаю на стороне сервера и отправляю клиенту

var React = require("react");
var DefaultLayout = require("./layout/default");

var LikeButton = React.createClass({
  getInitialState: function() {
    return {liked: false}; 
  }, 
  handleClick: function(event) {
    this.setState({liked: !this.state.liked});
  }, 
  render: function() {
    var text = this.state.liked ? 'like' : 'haven\'t liked';
    return (
      <p onClick={this.handleClick}>
        You {text} this. Click to toggle.
      </p>
    );
  } 
});

var IndexComponent = React.createClass({
   render: function(){
       return (
           <DefaultLayout title={this.props.name}>
                <div>
                        <h1>React Test</h1>
                </div>

                <div id="testButton">
                    <LikeButton/>
                </div> 

                <script type="text/babel" src="/js/react.js"></script>
           </DefaultLayout>
       )
   }   
});

Но кнопка «Мне нравится» не имеет никакого взаимодействия. Чтобы заставить это делать что-то по щелчку, я должен добавить этот код на стороне клиента.

var LikeButton = React.createClass({
  getInitialState: function() {
    return {liked: false};
  },
  handleClick: function(event) {
    this.setState({liked: !this.state.liked});
  },
  render: function() {
    var text = this.state.liked ? 'like' : 'haven\'t liked';
    return (
      <p onClick={this.handleClick}>
        You {text} this. Click to toggle.
      </p>
    );
  }
});

ReactDOM.render(
  <LikeButton />,
  document.getElementById('testButton')
);

Я только начал с response.js и, может быть, мне просто не хватает какой-то важной концепции. Но почему response.js не просто создает код (который я теперь должен добавить вручную к клиенту) при рендеринге серверной части страницы? Таким образом, у меня есть избыточный код, и я чувствую, что это будет беспорядок в больших приложениях. По крайней мере, response.js достаточно умен, чтобы не рисовать две кнопки LikeButton, а «привязывать» одну созданную сторону сервера к клиентскому компоненту.

Ответы на вопрос(2)

Ваш ответ на вопрос