@Fierfoxik

Как изменить отрисованный элемент?

В приложении есть компонент <inputs /> в котором лежат инпуты и поле для загрузки картинки.
При нажатии кнопку добавить мы берем все данные из полей , генерируем id и передаем через пропсы родителю <Inputs container/>, который подключен к store и передает в него все данные.

Компонент родитель <bookList/> принимает id элемента и передает его компоненту <book/> который уже отрисовывает каждый элемент.

Необходимо каким то образом сделать возможность изменить элемент.
В голову пока пришла только идея взять все данные из блока и передать в<inputs/> через store
Но по поводу реализации возникают сомнения, может кто подсказать как это бы лучше реализовать?

c15b8d9561f4426a95cc0e9298d7d7f6.png
  • Вопрос задан
  • 469 просмотров
Пригласить эксперта
Ответы на вопрос 2
@undefined_title
при нажатии на кнопку добавить, у тебя должен происходить екшин который принесет данные книги к редьюсеру который вернет новый стейт стора, контейнер книг у тебя должен быть подписан на стор, и именно на массив books, при изменении которого будет перерендериваться компонент, и в рендере просто надо мапить this.props.books
Ответ написан
Комментировать
RomReed
@RomReed
JavaScript, Flutter, ReactNative, Redux, Firebase
У вас есть первый несколько вариантов
Первый это прокинуть функцию через пропсы в а затем в и вызывать функцию this.props.myFunk в компоненте передавая необходимые переменные.
Таких образом можно передать данные родителям. Но это не самый красивый способ
Второй способ это использовать редукс. Положить данные при обработке в и вытащить из store в .
И третий вариант это использовать Contex. Самый редко используемый способ на мой взгляд. https://habrahabr.ru/post/266407/ прекрасная статья которая ответит на все вопросы о контексе реакта.

На мой вгляд если нужно быстрое решение используйте первый способ, но правильнее использовать редукс.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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