setState в нужном массиве - PullRequest
       6

setState в нужном массиве

1 голос
/ 08 апреля 2020

Я буду sh, чтобы обновить определенное входное значение, мне удалось это сделать с одномерным массивом, но, к сожалению, в моем случае 2d необходим, и я не знаю, как это сделать, поскольку я уже пробовал все комбинации строк и ячеек .

Вот ссылка на демонстрацию -> https://codesandbox.io/s/stoic-mirzakhani-46exz?file= / src / App. js

По сути, дело в том, что после ввода некоторого значения, например, X ось в первой строке, я sh только это значение поля, который будет обновлен. У меня есть кнопка, которая может добавить новую строку в inputValue, которая содержит все заголовки ввода и содержимое. Другое дело, что если я сейчас что-то напишу на вход, он преобразуется в объект и из-за этого приложения ... sh

1 Ответ

1 голос
/ 08 апреля 2020

Хорошо, у вас было несколько проблем, но в целом это было хорошее усилие!

  1. Вы пытались обновить состояние напрямую, а не использовать функцию мутации, предоставляемую уничтожением массива. и перехватывает
  2. В обновлении состояния вы не объединяли объекты должным образом, приводя к тому же значению, которое нужно передать
  3. Вы неправильно использовали реквизиты

Для адресации Этим я сделал новый компонент ввода, который отслеживает каждую строку компонента и столбец внутри его реквизита. Затем эти значения будут использоваться вместе с мутационной функцией prop driled и извлекать значение содержимого из вашего компонента чанка.

Пожалуйста, дайте мне знать, если это не работает

Ниже приведена ссылка на рабочую версию Пожалуйста, посмотрите на консоль, чтобы увидеть обновления, и есть кнопка, которая также напечатает текущее значение inputValue для вас. Состояние теперь также обновляется при вводе.

Редактировать: я обратился к вашему комментарию и исправил пример так, чтобы он соответствовал вашему запросу. Я пошел дальше и переключился на использование ловушки useReducer вместо этого, поскольку это делает логику c немного легче для понимания и чтения, по моему мнению. Не стесняйтесь попытаться выяснить это с помощью useState, если вы хотите это сделать. На данный момент, хотя здесь снова ссылка:
https://codesandbox.io/s/prod-resonance-wokey?fontsize=14&hidenavigation=1&theme=dark

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...