ReactDOM.render нужно вызывать 1 раз при начальном рендере приложения. В моем примере под компонентом, который рендерится по клику я имел ввиду <b>opened!</b>
Если флаг isOpen === false, тогда надписи opened не будет. MyClickableComponent в этом случае - контейнер: вам же где-то нужно хранить state, теоретически можете использовать redux для хранения этого флага, но я не реккомендую (т.к. в редаксе надо хранить глобальный стейт приложения, а этот флаг используется только внутри одного компонента)
RomanSS: для анимации это способ подойдет. Но в ходе анимации не может случиться так, что элемент вдруг не надо удалять. Или я не правильно понял вашу фразу
Компонент не удалялся из DOM и с ним можно было работать, выполнять какие-то функции и только когда моя функция возвращает true он удалял его из dom
Т.е. проиходит действие -> вы удаляете компонент из стора -> он удаляется из children контейнейра -> вызывается метод возвращающий промис -> отрабатывает анимация -> промис резолвится -> компонент удаляется из ДОМ. Такую последовательно можно сделать.
Там сравнивается директвы angular с рекатом внутри против ангуляра2. Думаю большинство разработчиков понимает и без этого видео, что ангуляр2 быстрее первого. Покидайте сравнительных ссылок на redux+react, relay+react, ... против ангуляра2.
Константин Башаркевич: других вариантов нету особо. Можно написать обертку className={concatClasses('avatar', this.props.className)} , но, примерно, одно и то же
Константин Башаркевич: так БЭМ тут не причем. Если вам надо передать класс в компонент - делайте так. А остальное уже зависит от вашего css: либо .avatar.user-info__avatar, либо .user-info .avatar
Xbbv1: да, все верно. Также вы можете сделать синхронизацию через https://developer.mozilla.org/ru/docs/Web/API/Web_... . Т.е. если открыто две вкладки и на одной пользователь залогинился\разлогинился - на второй произойдет то же самое
Xbbv1: это уже вопрос к тому, как вы храните состояние приложения (state). В случае с редаксом - сделайте отдельный редьюсер и сохраняйте там информацию о пользователе. В контейнере смотрите в стейти и прокидывайте флаг isAuth в ваши компоненты - а там уже isAuth && renderLoginBtn()
Илья: таким образом биндить на this - очень плохая практика, не стоит так делать. Используйте способ, который вам выше предложили. Вот тут есть еще один - Почему setState не работает в данном случае?
merinovkv: хм. Вам нужна не модель тогда, а transfer object. Да и вообще - нужно только чтение - не меняйте свойств. Доктрина на своем уровне может писать в модели, а для разработчика и так понятно где надо писать а где - нет. Попробуйте сделать TO, просто как объект, который в конструкторе принимает энтити, а из методов у него только геттеры...
d-virt: да, все верно. Вам надо добавить ее в List и Filters. PageList будет перерендериваться а дочерние компоненты - только когда изменились их props