169 похожих чатов

Всем привет))Задачка на смекалку, есть простой компонент который отображает 2

экрана. Но данные для экранов появляются только после запроса в didMount. Состояние current_project_task_loading которое отрисовывает индикатор изменяется внутри getProjectTask сначала на loading потом на success или failed) но получается так, что изначально loading состояние false отрисовываются пустые экраны, далее происходит запрос появляются данные и они по идее должны обновить экраны, и старые размонтируются, но в старых тоже идет запросы асинхронные которые когда завершаются уже экраны размонтированы соответственно ошибка, вот полюбому есть стандартная техника на такой случай))

class ProjectTaskScreen extends React.Component {
componentDidMount() {
this.props.getProjectTask(this.props.route.params);
}

render() {
return (
this.props.project_tasks.current_project_task_loading ? (
<View style={styles.container}>
<ActivityIndicator color="#009688" size="large" />
</View>
) : (
<Tab.Navigator>
<Tab.Screen name="ProjectTaskFormScreen" component={ProjectTaskFormScreen} options={{ title: 'Details' }}/>
<Tab.Screen name="ProjectTaskCommentScreen" component={ProjectTaskCommentScreen} options={{ title: 'Comments' }}/>
</Tab.Navigator>
)
);
}
}

2 ответов

20 просмотров

вариантов на самом деле не так много: 1) добавить еще одну зависимость (т.е. проверку что необходимые данные присутствуют и в этот момент рендерить экран) 2) выставить initial value в true

Артем- Автор вопроса
Vitaliy Ponomarev
вариантов на самом деле не так много: 1) добавить...

Спасибо, 2 вариант видимо из-за присутствия redux-persist отпадает) в сторону первого покапаю))

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта