jade на проекте подключен. Вопрос в архитектурном плане а не в плане как подтянуть один файл в другой ;) Есть сейчас форма поиска, например. Она на обычном jquery. Я например переписал ее на react. И таких компонентов я сделал кучу по сайту. Как их аккуратно внедрить не затроную весь проект? Для кажого писать ReactDOM.render() ? Или вот с Angular. Как его подключить на готовый большой проект, и правильно разбить на контроллеры? Сделать отдельную папку для файлов angular и делать 1 контроллер = 1 модуль на сайте? Например контроллер каталога, товара, корзины?
Возможно я не прав. Почитал оф.доку - вроде возможно передавать контент не только от владельца, но и от простого родителя, одним словом, я где-то взял не правильную ифномарцию
Думал об этом, но он позволяет передать контекст только от owner'a, но не от родителя. Если я создаю компонент Project, который хочет получить некие данные внутри компонента PorjectsList а данные у меня находятся в компоненте App, который создает ProjectsList - данные мне не упадут.
copal: ну вызывайте в utils'ах событие типа changeOneComponent, перехватывайте его только одним стором и обновляйте только один компонент ;) Если вы конечно не хотите для стора дописывать второй тип события, который он может эмитить, но, может, вернемся к моему изначальному вопросу?))
copal: Да, только суть в том, что сторов может быть несколько в отличии от диспатчера, так что компонент может быть подпиан на нужный ему стор и событие change конкретно этого стора. Ведь так?)
copal: ну, то что все данные прям одним скопом прокидываются во всем компоненты - я сомневаюсь. Как минимум, есть понятие умных и глупых компонентов, таким образом УЖЕ можно разбить весь App на несколько под-App-ов ;) Просто каждый из умных компонентов будет подписываться на нужное ему событие в Store и дергать только нужный ему кусок данных. Например, форме регистрации вообще как бы не нужно знать ничего из данных по проектам, а списку пользователей не нужно знать курс валют на сайте.
Aves: да, можно) Вопрос только что дальше делать. Взяли мы в componentDidMount элемент, навесили на него opacity: 1 но анимации нету, а если таймаут в 50мс поставить - уже есть. Странно
Сергей Протько: т.е. если в resolve поместить обращение к сервису Customer.getAll() и присвоить там же это allCustomers - можно предположить, что при инциализации контроллера у нас уже есть allCustomers и не теститьровать его наличие?
Сергей Протько: обязательно ознакомлюсь с п.1. А по пункту 2, предположим что я переносе резолв allCustomers на уровень инициализации стейта, как в таком случае я должен тестировать резолв? Мокать в контроллере allCustomers как зарезолвленный объект? Но тогда как протестировать успешность резолва? ( или я перегибаю с покрытием тестами?)
Ну по логике, мне нужно написать unit-тест, что бы проверить контроллер, что при ините, в vm. allCustomers находится массив объектов, запрошенных через сервис, который в свою очередь через $http.get обращается по API к бэку.
Даша Циклаури: могут подменить и после старта, это понятно. Пока я вижу только такой вариант: хранить токен спокойно в сторедже и полагаться на него только для отображения или скрытия каких-то роутов. А серьезная валидация будет только на бэке.