Я создаю компонент выбора документа, используя ответную реакцию, и заполняю его данными из API microsoft графиков rest api. Проблема, с которой я сталкиваюсь, заключается в том, как контролировать глобальное состояние выбора всех выбранных файлов и папок.
Допустим, у меня есть иерархия документов, например, так:
Documents
|-file1.txt
|-file2.txt
|-folder1
|
|-file3.txt
|-file4.txt
|-folder2
В DetailsList я отображаю текущий содержимое папки (Documents, folder1, folder2). При нажатии другой папки я заполняю DetailsList новыми данными. Пройдя по дереву, я хочу собрать все элементы, которые были выбраны, а не только выбранную папку.
Я создал CodePen, чтобы проиллюстрировать мою проблему: https://codepen.io/aleksandraszagorskas-emac/pen/XWmraxB?editors=1010
Я пытаюсь решить эту проблему, чтобы иметь текущее состояние страницы (содержимое папки), которое отображается в DetailsList, и состояние страниц для глобального выбора. Когда я пересекаю дерево документа, я могу либо go перейти на новую страницу (загрузить новую страницу в currentPage и добавить ее в коллекцию страниц), либо go на существующую страницу (получить currentPage из коллекции страниц). Затем я могу получить выбранные элементы currentPage из объекта currentPage и все выделения из объекта страниц. Однако я изо всех сил стараюсь корректно обновлять свою текущую страницу и коллекцию страниц.
Некоторые рекомендации будут с благодарностью.