Синтаксис ReactJS и setState - PullRequest
       6

Синтаксис ReactJS и setState

0 голосов
/ 10 февраля 2019

Я пытаюсь понять синтаксис ниже в моем приложении React.По сути, я хотел понять код внутри setState ()

this.getSomePromise().then(
      // resolve callback function
      someImg =>
        this.setState(prevState => ({
          ...prevState,
          doggo: someImg.message
        })),
      // reject callback function
      () => alert("Rejected!")
    );

То, что я ожидал, был такой синтаксис:

    this.setState(prevState => {
// some code
    })

Но круглая скобка сразу после prevState => получаетя запутался.

1 Ответ

0 голосов
/ 10 февраля 2019
Стрелки

ES6 используют неявный синтаксис возврата, который позволяет пропустить ключевое слово return.Это неявно возвращаемый объект:

this.setState(prevState => ({
  ...prevState,
  doggo: someImg.message
}))

Это сокращение для явного возврата:

this.setState(prevState => {
 return {
  ...prevState,
  doggo: someImg.message
 }
})

Это литерал объекта, который возвращается как новое состояние:

{
  ...prevState,
  doggo: someImg.message
}

Если не заключить в скобки (...), это приведет к синтаксической ошибке, поскольку {...} фигурные скобки в литерале объекта будут проанализированы как скобки функций.

...