React.Component дождался рендера другого React.Component'а и только после этого стал рендерится ?
Вызовы удит через render() и в конце стоит wraper.
Вношу изменения в большой готовый проект redash
Если в деталях, то я хочу чтобы DashboadGrid загрузился после Parameters .
Как этого можно добиться ? Я добавил логики в Parameters, которая загружает данные в кэш на бекенде, и получается, так что данных еще нету в кеше, а их уже запрашивает фронт.
Очень странный кейс
if...else в рендере?
Я вот не понимаю как это сделать
А в чем странность ?
в том, что обычно все рендерится как только, так сразу если тебе нужна анимация появления, то другой вопрос
Parameters ? DashboadGrid : Loader
вот тут например будет происходить рендер только при условии что параметрьі существуют соотвецтвенно после загрузки, хочеш рендерить свой компонент в то же время оберни его в то же
Я понимаю, что я говнокожу. Ну а выбора нет, есть задача надо выполнить. После изменения бэкенда и логики работы с результатами выполнения SQL запросов к БД. Потребовалось добавить проверку, что вообще существует результат выполнений SQL запроса. Я добавил проверку, и если нет то загружаю их в базу.
обьічно рендером управляют а не показьівают пустую страницу пока данньіе загрузятся
Скорей всего globalParameters, это флаг который говорит, нужно ли вообще ренедерить этот элемент или нет. В моем же случае я хочу зарендерить после Parameters DashboardGrid. Возможно я что то делаю не так, и надо по другому. С радостью все переделаю как надо чтобы работало
суть не в том, что это говнокод, а в том, что ты нелогично делаешь задуманное
а как сделать логично ?
опиши, что тебе изначально нужно сделать, и почему ты пришел к тому, чтобы ждать рендера одного компонента перед тем, как отрендерить второй
а зачем вобще, там какието данньіе не подгружаются или что?
пойди от обратного, что приводит parameters к рендеру? вот от того и рендери
В Parameters есть тип филтра, он работает на основе предыдущих результатов запросов. Сейчас из-за изменённой логике на бекенде может происходить, так что нету результата в БД. Я добавил проверку и вызов выполнение запроса в функцию _loadOptions . Но сейчас получается так что компоненте Parameters вызывает функцию загрузки данных, а визуализация которая находится в DashboadGrid которая ссылается на фильтр, падает с ошибкой, так как еще нету результата при загрузке.
вам нужно реализовать загрузчик для вашего кейса, пока идет загрузка, если єто только изза отсутствия данньіх во время загрузки, хотя в чем проблема не показьвать те же даннье что бьіли до запроса на фильтрациию? P.S. SelectWithVirtualScroll принимаєт loading, значит скорее всего там все уже реализовано, в таком случає, на мое мнение, будет правильнее не городить загрузчики а обработать наличиє options в компоненте уже.
Обсуждают сегодня