Запускать сохранение мутации извне нескольких компонентов Apollo React

В наборе приложений React мы размещаем для каждого представления набор многократно используемых компонентов формы с поддержкой apollo с помощью всего одной кнопки сохранения, расположенной вне компонентов формы. При нажатии кнопки сохранения каждый компонент (с грязным состоянием) должен выполнить мутацию для сохранения изменений.

Меня интересуют возможные варианты реализации, и я бы не хотел использовать ссылки.

Проблема, которую необходимо решить, похоже, заключается в том, как вызвать метод вне компонента - я попытался ответить на этот вопрос Вызов дочернего метода от родителя, и хотя я бы предпочел не использовать какой-либо способ взаимодействия между компонентами React, один конкретный ответ, который выглядит многообещающим для меня это https://stackoverflow.com/a/45582558/3021889 - все же я хотел бы услышать, какие у меня есть варианты.

На первый взгляд кажется, что это нарушает государственную модель реакции. Вы не хотите делать его грязным или видоизменять, но создайте новую копию состояния при сохранении. Но что касается вашего конкретного вопроса о связи между компонентами, если вы не сделаете это реакционным способом, вы приложите усилия, чтобы работать так, как он должен работать ... вроде бесполезно. Если вам нужен более простой способ сохранения изменений и обмена данными между компонентами, я предлагаю взглянуть на Redux. Оттуда у вас будет чистый способ управления коммуникациями через центральный магазин.

J E Carter II 28.11.2018 18:15
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
203
0

Другие вопросы по теме