Как я могу присвоить уникальные идентификаторы DIV, созданным из многомерного массива, находящегося в состоянии компонента реакции? - PullRequest
0 голосов
/ 11 июля 2020

У меня есть многомерный массив, основанный на иерархии элементов массива, я хочу создать точно такие же многоуровневые вложенные DIV в приложении React. Как я могу присвоить уникальные идентификаторы DIV, сгенерированным из многомерного массива в состоянии React Component, чтобы всякий раз, когда я нажимаю на конкретный div, я должен знать, какой элемент этого многомерного массива нужно изменить.

Ниже приведен код, который я написал in для рендеринга DIV в соответствии с массивом, находящимся в состоянии компонента:

state = {
 arrSectionsContainer: [
                            ['A'], 
                            [
                                [
                                    ['D'], ['E']
                                ], 
                                ['C']
                            ]
                          ]

}

Функция для рендеринга пользовательского интерфейса (пользовательский интерфейс отображается правильно):

render() {
const {  arrSectionsContainer } = this.state;

const renderUI = (arrSectionsContainer, j) => {
    return (
        arrSectionsContainer.map((ele, i) => {
            if (ele.length === 1) {
                return (
                    <div id={`sectionDiv${i}${j}`}>Single Div - {i}</div>
                )
            } else {
                return (
                    <div>
                        {renderUI(ele, i)}
                       
                    </div>
                )

                renderUI(ele)
            }
        })
    )
}

return (
    <div>
        {renderUI(arrSectionsContainer, 0)}
    </div>
)

}

...