Ошибка "неиспользуемые выражения" в реакции с функцией карты - PullRequest
0 голосов
/ 11 января 2019

Я создал класс 'App' и передал состояние в качестве реквизита в дочернем компоненте 'Todos'.

Посмотрите на мой код:

class App extends Component {

  state = {
  todos:[
    {
      id:1,
      title:'task1',
      complete:false,
    },{
      id:2,
      title:'task2',
      complete:false,
    },{
      id:3,
      title:'task3',
      complete:false,
    }
  ]
}

render() {
  return (
    <div className="App">
      <Todos todos={this.state.todos}/>
    </div>
  );
 }
}

Мой компонент Todos:

class Todos extends Component {
  render() {
    return this.props.todos.map((list)=>{list.title});
  }
}

Теперь внутри моего компонента Todos в функции карты, он не позволяет мне использовать фигурные скобки, но если я заменю его на круглые скобки, это нормально, почему?

Пожалуйста, помогите мне. Извините за плохо структурированный вопрос.

1 Ответ

0 голосов
/ 11 января 2019

, если вы используете фигурные скобки, это означает, что вы пишете функцию, и в конце вы должны вернуть jsx, но ваш код не возвращает jsx. Таким образом, действительный код будет

return this.props.todos.map((list)=>{ return list.title});

и код с круглыми скобками работает, потому что это короткая рука для написания возврата. Таким образом, в основном с круглыми скобками, ваш код по-прежнему таков

return this.props.todos.map((list)=>{ return list.title});

Несколько действительных способов:

return this.props.todos.map((list)=>{ return list.title});

return this.props.todos.map((list)=> list.title);
...