Для меня работала переустановка модуля mcrypt
.
$sudo apt-get install php5-mcrypt
$sudo php5enmod mcrypt
Я не использовал Angular, но, прочитав ссылку выше, кажется, что вы пытаетесь закодировать что-то, что вам не нужно обрабатывать. Вы вносите изменения в состояние в своей иерархии компонентов React (через this.setState ()), а React приведет к повторному рендерингу вашего компонента (эффективно «прослушиванию» изменений). Если вы хотите «прослушать» другой компонент в своей иерархии, у вас есть два варианта:
При изменении состояния будут вызываться следующие методы жизненного цикла . Вы можете использовать предоставленные аргументы и текущее состояние, чтобы определить, изменилось ли что-то значимое.
componentWillUpdate(object nextProps, object nextState)
componentDidUpdate(object prevProps, object prevState)
componentDidUpdate
в компоненте с помощью опоры было правильным рецептом. Спасибо за это.
– Keith D Commiskey
19 April 2017 в 04:51
componentWillUpdate
устарел: reactjs.org/blog/2018/03/27/update-on-async-rendering.html
– Dmitry Minkovsky
30 March 2018 в 21:32
Я думаю, что вы должны использовать нижеследующий компонент Lifecycle, как если бы у вас было свойство ввода, которое при обновлении должно запускать обновление вашего компонента, тогда это лучшее место для его выполнения, поскольку оно будет вызываться до того, как вы даже сможете сделать компонент обновления состояние, которое должно отражаться на представлении.
componentWillReceiveProps: function(nextProps) {
this.setState({
likesIncreasing: nextProps.likeCount > this.props.likeCount
});
}