React Native не перерисовывает экран при goBack()Javascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Гость
 React Native не перерисовывает экран при goBack()

Сообщение Гость »


Сейчас я разрабатываю мобильное приложение с использованием React Native, и у меня возникла эта проблема. У меня есть два экрана: SiteScreen и FormScreen. Первый отображает информацию о сайте, а второй представляет собой форму для оценки сайта. Поэтому, когда я заполняю форму и отправляю ее в свой API, я обновляю информацию о сайте и хочу, чтобы она обновлялась в SiteScreen, чтобы пользователь мог ее видеть, но это не так. Я могу распечатать его в обновленном FormScreen, но не на другом экране

Я попробовал использовать первую функцию, которая вызывается при нажатии кнопки отправки

const saveChanges = () => { если (Object.keys(selectedValues).length === 0) setHasError (истина); еще { // Код для защиты камней console.log('Изменения сохранены: ', selectedValues); site.nombre = "(Рейтинг)"; Navigation.setParams({сайт: сайт}); навигация.goBack(); } } и мне удалось заставить это работать, сделав это в SiteScreen:

const site =route.params.site; const [, setState] = useState(false); использоватьFocusEffect( React.useCallback(() => { console.log("В фокусе") console.log("Номер на сайте: " + site.nombre) setState(предыдущая => !предыдущая); возврат () => {}; }, []) ); Но это настоящая функция, которую мне нужно использовать для выполнения запроса, и то, что я сделал, не работает с асинхронными функциями, не знаю почему

const saveChangesAsync = async () => { если (Object.keys(selectedValues).length === 0) setHasError (истина); еще { const ответ = ждут sendRating (selectedValues, сайт, пользователь!._id); if (response.success && «newPlace» в ответ) { response.newPlace.nombre = "(Рейтинг)"; console.log("Имя в форме: " + response.newPlace.nombre) Navigation.setParams({сайт: response.newPlace}); setTimeout(() => { навигация.goBack(); }, 100); } еще console.log(ответ.сообщение) } } Пожалуйста, помогите мне. Я слишком долго боролся с этим
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»