Я разместил это на Reactiflux, но может получить больше тяги здесь.Я создал песочницу, чтобы продемонстрировать свою потребность: https://codesandbox.io/s/xvnk0znw7z
Я пытаюсь создать универсальную модальную оболочку, которую я могу использовать для инкапсуляции нескольких компонентов;в песочнице компонент является палитрой диапазона дат, но у меня также есть, например, компонент formik
.
Дело в том, что кнопки Применить и Очистить должны быть частью модального обтекания, ине дочерний компонент, который он переносит.
Однако при нажатии кнопки «Применить» или «Очистить» сохранение состояния дочернего компонента в контексте (не для краткости) действительно является ответственностью самого дочернего компонента;только он знает, как он должен это делать.
В приведенном выше примере это будут методы ok
и clear
из DatesPicker
.Интуитивно я бы назвал children.ok
и children.clear
из модальной оболочки, но я точно знаю, что это не так, как это должно быть.
Я много смотрел на пример рендеринга-оперы Cat and Mouseв документации React, но я не могу понять, как я могу применить это здесь.