В следующем фрагменте кода я перебираю свойства объекта (в данном случае PADS), используя метод lodash
library map
. Он принимает объект и функцию обратного вызова в качестве аргументов.
Еще одно упоминание о том, что я пытаюсь включить функции начальной загрузки с дочерним компонентом реагирования.
let count = 0;
let countCount = 0;
const drumPadItems = _.map(PADS, padElem => {
count++;
countCount++;
if(countCount === 1){
return (
<div className="row">
<DrumPad letter={padElem.letter} url={padElem.url}/>
);
}
if(count > 3){
count = 1;
return (</div><div className="row"><DrumPad letter={padElem.letter} url={padElem.url}/>
);
}
if(countCount === 9){
return (
<DrumPad letter={padElem.letter} url={padElem.url}/>
</div>
);
}
return <DrumPad letter={padElem.letter} url={padElem.url}/>;
});
Когда я запускаю приложение, я получаю следующую ошибку компиляции:
ERROR in ./src/components/drum_pad_list.js
Module build failed: SyntaxError: Unexpected token, expected } (76:19)
if(count > 3){
count = 1;
^
return (</div><div className="row"><DrumPad letter={padElem.letter} url={padElem.url}/>
);
}
EDIT:
Объект PADS
имеет следующую структуру:
{
q: {
label: "Label1",
letter: "Q",
url: "https://..."
},
w: {
label: "Label2",
letter: "W",
url: "https://..."
}
...
}
Желаемый результат будет выглядеть примерно так:
<div className="row">
<DrumPad letter='Q' url='https://...'/>
<DrumPad letter='W' url='https://...'/>
<DrumPad letter='E' url='https://...'/>
</div>
Каким было бы решение для этого?