Как ключ / метка выводится в setState реагирующего натива?

1

Я просматривал пример ввода исходных автозаполнений React, когда я столкнулся с классическим вызовом this.setState, который не сливался в объект с меткой.

  constructor(props) {
    super(props);
    this.state = {
      films: [],
      query: ''
    };
  }

  componentDidMount() {
    fetch('${API}/films/').then(res => res.json()).then((json) => {
      const { results: films } = json;
      this.setState({ films });
    });
  }

Я ожидал, что вызов this.setState будет выглядеть

this.setState({ films: films });

Где код/​​документация, в которой говорится, что этот синтаксический сахар разрешен? Является ли это чистой функцией JavaScript или реакцией?

Связанные исследования

Это похоже на декомпозицию объекта, но "отменено".

Я также дважды проверял, чтобы вызов API действительно возвращал массив вроде

"results": [ ... ] 

так что это не так. this.setState({ films }); на самом деле имеет форму this.setState({ films: actual_object }); ,

Теги:
ecmascript-6
react-native
syntax

1 ответ

1
Лучший ответ

Он ссылается на сокращенную литературу Object.

this.setState({ films });
// is the same as:
this.setState({ films: films });

См. Также http://es6-features.org/#PropertyShorthand для синтаксического сахара.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню