#javascript #reactjs #typescript #react-native
Вопрос:
Я пытаюсь выяснить, как настроить контексты для обработки фоновых обновлений, а также для обработки ввода в форму. Вот что я сделал, но я знаю, что это неправильно, потому что у меня проблема, из-за которой форма передается повторно, а данные исчезают
<BackendDataContextProvider>
<Stack.Navigator>
<Stack.Screen name="list" component="ListDataFromBackendComponent">
<Stack.Screen name="update" component="UpdateEntryComponent">
</Stack.Navigator>
</BackendDataContextProvider>
У BackendDataContextProvider
него есть вызываемое состояние dataFromBackend
, которое устанавливается каждые 60 секунд.
UpdateEntryComponent
не полагается на dataFromBackend
информацию, но из-за иерархии она все еще повторяется.
Я думаю, что мне нужно изменить BackendDataContextProvider
, чтобы разделить его на фоновый сборщик и другой компонент, который используется в ListDataFromBackendComponent
Однако существует ли менее «радикальный» подход, который я, возможно, упускаю?
Ответ №1:
Вы пробовали React.memo (компоненты класса) или useMemo (функциональные компоненты)? Они используются для предотвращения повторных отправок дочерних сообщений, которые вызваны исключительно тем, что родитель выполняет повторную отправку.
Комментарии:
1. На самом деле я так и сделал, но, возможно, я делал это неправильно, так как он все еще перенаправляет компонент.