У меня есть JSON источник вопросов и JSON источник ответов. Я предоставлю вопросы и соберу соответствующие ответы для отображения под ними. JSON может выглядеть следующим образом:
вопросов. json:
“7”: {
“id”: 7,
“title”: “A First Question”
“answers”: [12,13]
},
“8”: {
“id”: 8,
“title”: “A different title”
“answers”: [14, 15]
},
etc.
Ответы. json:
"12": {
"id": 12,
"questionId": 7,
“Label”: “Yes”,
"relatedQuestions": [8,9]
},
"13": {
"id": 13,
"questionId": 7,
“Label”: “No”,
"relatedQuestions": [10]
},
"14”: {
"id": 14,
"questionId": 8,
“Label”: “Yes”,
"relatedQuestions": [21]
},
"15”: {
"id": 15,
"questionId": 8,
“Label”: “No”,
"relatedQuestions": []
},
etc.
Выше может возникнуть вопрос «Первый вопрос» с двумя переключателями, соответствующими ответам 12 и 13. Если вы нажмете «Да» (ответ 12), вы увидите похожие вопросы 8 и 9. Если вы нажмете «Нет» (ответ 13), вы будет видеть связанный вопрос 10
Я хочу отобразить свой вопрос и связанные с ним ответы (не сложно), затем обработать щелчок, чтобы определить, какой набор связанных вопросов следует показать (более сложно). Один улов - на странице может быть несколько переключателей, каждый из которых имеет свой собственный набор ответов, и, возможно, у них есть свои связанные вопросы. Это может быть вложенное переменное количество уровней с переменным количеством общих вопросов (очень сложно). Этот последний бит дает мне припадки. Как правильно «Реагировать» способ сделать это? Все, что я пробую, кажется очень громоздким и неуклюжим.
Я предполагаю, что мне нужен какой-то сортировочный или рекурсивный компонент, но как мне сохранить в этом состояние моего состояния? Мне нужно знать, с каким идентификатором вопросов связаны какие идентификаторы ответов, а затем с какими из этих идентификаторов ответов связаны вопросы ... мне кажется, что это куча кирпичей, и я уверен, что я не подхожу к этому правильно. Любой совет приветствуется. Как подходить к этому концептуально, как подходить к нему в коде ... что угодно.