1 Востаннє редагувалося bebyk (12.02.2020 18:15:30)

Тема: Баґ асинхронного застосунку React-Redux

Вже більше доби б'юся з одним баґом, ніяк не можу збагнути, в чому проблема.

Ось репо: github.com/bebyx/userboard

Суть у тому, що є дві сторінки, які фетчать дані з зовнішніх JSON'ів.

Все працює гаразд, аж поки я не додам елемент подвійної глибини (приміром, element.company.name). У такому разі джейсон фетчиться нормально лише спершу, а коли йду зі сторінки на іншу функціональну (з фетчингом іншого джейсона) сторінку й перемикаюся назад на ту, що має подвійної глибини елемент, застосунок не хоче його читати і видає таке:

https://imgur.com/SuzHOIl.png

Хтось стикався з такою проблемою? Буду вдячний, якщо підкажете, у якому напрямку копати.

2

Re: Баґ асинхронного застосунку React-Redux

А де у вас company ?, що ви зразу company.name виводите ...
Якщо планується, що company може бути не визначене, то мабуть варто перевіряти чи воно визначене і тільки тоді виводити його.

3 Востаннє редагувалося bebyk (12.02.2020 19:44:53)

Re: Баґ асинхронного застосунку React-Redux

leofun01 написав:

А де у вас company ?, що ви зразу company.name виводите ...

Власне, ось джейсон.

Що дивує найбільше - спершу застосунок виводить усе добре, а потім чомусь видає таку помилку з дворівневими елементами.

4

Re: Баґ асинхронного застосунку React-Redux

Схоже що ви десь використовуєте fetchElementsIfNeeded, а треба fetchElements.

5

Re: Баґ асинхронного застосунку React-Redux

leofun01 написав:

Схоже що ви десь використовуєте fetchElementsIfNeeded, а треба fetchElements.

Я пробував чистий fetchElements в ComponentDidMount - те саме.

6

Re: Баґ асинхронного застосунку React-Redux

МАЗАФАКА! Я пофіксив. Рішення виявилося таких простююююсіньким. Треба було лише чекнути перший рівень до того як викликати другий.

Якось так:

<td>{ element.company && element.company.name }</td>
Подякували: leofun01, NaharD2