Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   React'а тред (https://javascript.ru/forum/offtopic/53890-react%27-tred.html)

Safort 27.06.2015 19:19

Erolast,
что-то я об этом не подумал. Не подскажешь лаконичный способ, использования async'ов внутри реакта? А то всё, что приходит мне в голову - это топоркривые костыли.

Erolast 27.06.2015 19:47

Цитата:

Не подскажешь лаконичный способ, использования async'ов внутри реакта?
Неясно зачем.

React.Component#render возвращает объект, описывающий состояние узла в каждый момент времени: всякий раз, когда реакт заподозрит, что представление компонента могло измениться, дергается этот метод, и DOM приводится в соответствие его результату. Никакой асинхронщины там в принципе быть не может.

Safort 27.06.2015 20:48

Erolast,
Цитата:

Неясно зачем.
у меня есть компонент, который выводит svg. Сначала он посылает запрос, получает svg и выводит результат. Всё, больше ничего он не делает.

Erolast 27.06.2015 21:09

http://facebook.github.io/react/tips/initial-ajax.html (только isMounted в последнем реакте уже не надо использовать).

Safort 27.06.2015 21:37

Erolast,
так у меня сейчас, но это же не писк моды))

Gozar 27.06.2015 21:40

Safort,
Это он тебе намекает на то, что ajax посылается в componentDidMount, а старт отрисовки вызывается когда ты вызываешь this.setState. На эти грабли наступают все кто не читал документацию.

Цитата:

Сообщение от Safort
это же не писк моды))

Да, ты хочешь сломать основной паттерн реакта. Я не понимаю зачем.

Ну не используй React.

Erolast 27.06.2015 21:45

Аха.

async/await лучше в getSomeData применить:
async function getSomeData(url) {
    let response = await fetch(url);
    return response.json();
}

Safort 28.06.2015 00:25

Gozar,
Цитата:

Это он тебе намекает на то, что ajax посылается в componentDidMount
Вот не пойму почему именно componentDidMount, а не componentWillMount?

Цитата:

а старт отрисовки вызывается когда ты вызываешь this.setState.
Ну это понятно.

Цитата:

На эти грабли наступают все кто не читал документацию.
Я читал доки, но, наверное, не недостаточно внимательно.

Цитата:

Да, ты хочешь сломать основной паттерн реакта.
Я туплю, но совершенно не понимаю о каком основном паттерне ты говоришь.

Цитата:

Я не понимаю зачем.
Прост))) Я просто экспериментирую, не более.

Цитата:

Ну не используй React.
Ладно.

Erolast,
Цитата:

async/await лучше в getSomeData применить
Попробую днём, сейчас уже плохо соображаю)

cyber 28.06.2015 01:30

Цитата:

Сообщение от Safort
Я туплю, но совершенно не понимаю о каком основном паттерне ты говоришь.

Я в патернах только начинаю разбератся, поэтому могу быть не прав.
На сколько я понял он о MVC и если я правиьно понял смысел патерна, то этим (получением данных) должна заниматся модель.
Я прав?)

cyber 28.06.2015 01:37

Кст раз зашла речь о патернах, factory в ангуляре нужно использовать так ?
ang.factory( "mFactory", function () {
 return new MyClass();
});

Он вызовет только один раз функцию для mFactory, а потом будет использовать за кешированный объект, да?
т.е создас только один объект класса MyClass?


Часовой пояс GMT +3, время: 11:53.