Показать сообщение отдельно
  #50 (permalink)  
Старый 24.12.2014, 21:55
Аспирант
Отправить личное сообщение для fancy Посмотреть профиль Найти все сообщения от fancy
 
Регистрация: 16.12.2014
Сообщений: 67

Еще про React
Уж раз про него заговорили

Минус первый.
Это тоже самое что CoffeeScript только не в стиле ruby и только ради того чтобы писать вот это
React.render(<MarkdownEditor />, mountNode);


render: function() {
    return (
      <div className="MarkdownEditor">
        <h3>Input</h3>
        <textarea
          onChange={this.handleChange}
          ref="textarea"
          defaultValue={this.state.value} />
        <h3>Output</h3>
        <div
          className="content"
          dangerouslySetInnerHTML={{
            __html: converter.makeHtml(this.state.value)
          }}
        />
      </div>
    );
  }


Ладно может так надо было, но идем дальше.
Во что они превращают это

Минус два
render: function() {
    return (
      React.createElement("div", null, 
        React.createElement("h3", null, "TODO"), 
        React.createElement(TodoList, {items: this.state.items}), 
        React.createElement("form", {onSubmit: this.handleSubmit}, 
          React.createElement("input", {onChange: this.onChange, value: this.state.text}), 
          React.createElement("button", null, 'Add #' + (this.state.items.length + 1))
        )
      )
    );
  }


Это ж получается для каждого тега надо вызвать функцию, и думаю не маленькую.
Повторю их заявление, что типа мы берем и просто все перерендерим.
Что это значит?
Это значит что еще надо заново поставить обработчики событий на dom.

И где тут прорыв в производительности?
Они такой гемор*** делают из очень простой задачи.

Последний раз редактировалось fancy, 24.12.2014 в 22:13.
Ответить с цитированием