Я пытаюсь сопоставить действительно простой массив в реакции, но всегда получаю
Expected an assignment or function call and instead saw an expression no-unused-expressions
это код
render() {
const arr = [1, 2, 3, 4, 5];
return (
<div>
<ul>
<li>{this.state.amount}</li>
{arr.map((e) => {
<li key = {e}>
{e}
</li>
})}
</ul>
</div>
);
}
Для меня все выглядит так, как во всех учебниках и примерах, таких как https://reactjs.org/docs/lists-and-keys.html
Оператор return отсутствует на карте:
render() {
const arr = [1, 2, 3, 4, 5];
return (
<div>
<ul>
<li>{this.state.amount}</li>
{arr.map((e) => {
return <li key = {e}>
{e}
</li>
})}
</ul>
</div>
);
}
Я думаю, что легче следить за вещами, если map() вызывается в рендере.
render(){
const arr = [1, 2, 3, 4, 5];
let listItem = arr.map(each =>{
return(
<li key = {e}>
{e}
</li>)
})
return (
<div>
<ul>
<li>{this.state.amount}</li>
{listItem}
</ul>
</div>
);
Хорошая мысль, спасибо за отзыв.
вы забыли возврат в функции обратного вызова карты, поэтому и получаете ошибку. напишите так:
{arr.map((e) => ( <li key = {e}> {e} </li> ))}
или добавьте возврат:{arr.map((e) => { return <li key = {e}> {e} </li> })}