Size: a a a

JavaScript Developers

2019 June 23

DM

Daniel Manasov in JavaScript Developers
Daniel Manasov
Кажется понял, у тебя компонент слишком умный становится
Я подумал, что ты запросы переотправляешь, если пропсы поменялись
источник

LF

Libron FCB in JavaScript Developers
Daniel Manasov
Я подумал, что ты запросы переотправляешь, если пропсы поменялись
Нее, с этим все проще )
Не успевают дожидаться просто, данные связаны друг с другом. Сейчас попробую переделать свои запросы didMount в async, отпишусь.
источник

DM

Daniel Manasov in JavaScript Developers
Ну если не получится - then попробуй
источник

am

aman madiiarbekov in JavaScript Developers
Libron FCB
Код образно такой:
async componentDidMount() {
const data1 = await this.props.fetchData();
const data2 = await this.props.fetchData1(data1);
const data3 = await this.props.fetchData2(data2);
console.log(data3);
}
а как выглядят эти три функции?
источник

am

aman madiiarbekov in JavaScript Developers
второй например и третий хотябы
источник

LF

Libron FCB in JavaScript Developers
aman madiiarbekov
а как выглядят эти три функции?
аякс запросы на эндпоинты все три
источник

am

aman madiiarbekov in JavaScript Developers
они должны быть промисами
источник

am

aman madiiarbekov in JavaScript Developers
типа иметь async что ли
источник

LF

Libron FCB in JavaScript Developers
Да, сейчас переделываю на promise.all
источник

am

aman madiiarbekov in JavaScript Developers
промис ол это ты где переделываешь?
источник

am

aman madiiarbekov in JavaScript Developers
промис.ол не запустит их синхронно
источник

α

αμαν in JavaScript Developers
Делай один промис чейн в конструкторе, это не правильно, но раз уж такое апи у реакта, то пусть уже этот код кричит об этом, можешь добавить коммент Extract me please!!!
Это сработает если у тебя нет сср и пропсы эти (запросы) не меняются
источник

α

αμαν in JavaScript Developers
Ну и если это не хок какой-нибудь
источник

α

αμαν in JavaScript Developers
В идеале такое надо делать в санках или сагах
источник

LF

Libron FCB in JavaScript Developers
αμαν
Ну и если это не хок какой-нибудь
про ХОК хорошая идея 🤔 АПИшка не фонтан - согласен )
источник

α

αμαν in JavaScript Developers
Если это сделать в didMount то я бы ожидал взаимодействие с дом или аналогичную логику в willUnmount
источник

α

αμαν in JavaScript Developers
Тут на лицо был бы тех - долг, скрытый
источник

α

αμαν in JavaScript Developers
А так будет конструктор, который по своей природе итак запашит слегка
источник

LF

Libron FCB in JavaScript Developers
Спасибо ребят, понял. Попробую:
1) async/await didMount()
2) чейин в конструкторе
3) поковырять redux-observable (всю логику туда перенести)
4) на крайний случай HOC
источник

α

αμαν in JavaScript Developers
Libron FCB
Спасибо ребят, понял. Попробую:
1) async/await didMount()
2) чейин в конструкторе
3) поковырять redux-observable (всю логику туда перенести)
4) на крайний случай HOC
Начни с 3 пункта))
источник