All streams
Search
Write a publication
Pull to refresh
24
0
Andrew Ka @comerc

#кодеротбога

Send message
Если данная тема будет интересна, то в следующих статьях мы попробуем серьезно протестировать более сложное приложение, использующее redux, redux-saga, react-intl, модальные окошки и прочие элементы, усложняющие тестирование.

Тема очень интересная, очевидно. Хотелось бы поскорее увидеть продолжение!

Ох, я понял! Эквивалентная запись с использованием spread:


  handleClick() {
    this.setState({...this.state, words: this.state.words.concat(['marklar'])});
  }

Действительно, вот так работает:


  handleClick() {
    this.setState({words: this.state.words.concat(['marklar'])});
  }

Но тогда зачем нужна вот эта вариация с prevState?


  handleClick() {
    this.setState(prevState => ({
      words: prevState.words.concat(['marklar'])
    }));
  }

Проблема другая. Но я не понимаю. Цитирую из статьи:


The problem is that PureComponent will do a simple comparison between the old and new values of this.props.words. Since this code mutates the words array in the handleClick method of WordAdder, the old and new values of this.props.words will compare as equal, even though the actual words in the array have changed. The ListOfWords will thus not update even though it has new words that shoud be rendered.

Непонятно, тогда почему этот код работает?


src

И ещё. Очень интересно почитать "разжёванную" версию вот этой статьи.

Спасибо за труд. Штудируя статью документации по оптимизации производительности, не втыкаюсь, почему этот код не работает:


  handleClick() {
    // This section is bad style and causes a bug
    const words = this.state.words;
    words.push('marklar');
    this.setState({words: words});
  }

а этот работает:


  handleClick() {
    this.setState(prevState => ({
      words: prevState.words.concat(['marklar'])
    }));
  }

Спасите-помогите! :)

Хотел бы удивиться реализации синхронизации клиентских данных.


http://youtu.be/1ddm7WCMclA
http://youtu.be/ZWNtxmrA4UY

"hot reloading" — нет такого понятия.


// "Live Reloading" и "Hot Module Replacement", соответственно: 
$ webpack-dev-server  --inline --hot

Функционал Хабра, примерно: посты, комменты, лайки, уведомления, личка.

Как же вовремя, спасибо! Вчера поставил, разбираюсь.

Clojure прекрасен! Но как можно жить с любовницей, если дома ожидает жена с детишками?

А почему не React Native?

Прямо бальзам: — вопросы из зала задавайте в микрофон. Трансляции на высоте!

А как там поживает iOS ?

Ой! Это я не в тему ляпнул. Там же каталог инструментов, а не статей.

Information

Rating
Does not participate
Registered
Activity