У нас есть внутренняя система инструментов, которая использует JSON для задания различных действий, задач и т. Д. Я создаю одностраничное веб-приложение для визуализации этой информации.Веб-приложение содержит текстовую область для редактирования / вставки JSON и другую область, которая отображает JSON в элементы пользовательского интерфейса.
Поэтому я хочу взять JSON из текстовой области и визуализировать его.Но я также хочу, чтобы пользователь мог взаимодействовать с этой визуализацией рендеринга, вносить изменения / настройки параметров и немедленно обновлять JSON.Я думаю, что это можно назвать двусторонним связыванием.
Хотя переход с JSON -> HTML DOM-элементов прост, я не уверен, как сделать обратное и перейти к DOM -> JSON.Допустим, у нас есть JSON
{"task1" : {
"canFail" : true,
"autoRestart" : false,
"connectionPropertys" : {
... }
}
}
. Я бы визуализировал task1 как некоторый элемент пользовательского интерфейса с флажками для canFail и autoRestart.Я хочу, чтобы пользователь мог как
- редактировать значение JSON "canFail" в значение "true" или "false", и сразу отображать его (это легко - просто перерисовать весь JSON))
- установите или снимите флажок canFail и автоматически обновите JSON (сложная часть - где я застрял)
В React мы передаем состояние / свойства дочерним элементамтаким образом, компонент, разыскивающий флажок (и), будет знать только о canFail или autoRestart ... он может не знать о «task1».Если флажок изменен, конечно, у меня может быть запущена какая-то функция-обработчик, но он на самом деле не знает, какой ключ / значение в JSON это соответствует (например, он ничего не знает о task1 и может быть несколько task1s).
Интересно узнать, какой хороший подход будет здесь для решения этой проблемы.Спасибо:)