如何在native native的setState中推断出键/标签?

时间:2017-08-07 18:45:31

标签: javascript react-native syntax ecmascript-6

当我遇到一个经典的this.setState调用时,我正在浏览React Native Autocomplete Input example,该调用没有合并到带有标签的对象中。

  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功能还是React one?

相关研究

这与object decomposition类似,但“逆转”。

我还仔细检查过,看看API调用确实返回了一个类似

的数组
"results": [ ... ] 

所以它不像this.setState({ films });实际上具有this.setState({ films: actual_object });形式。

1 个答案:

答案 0 :(得分:1)

它来自Object literals shorthand

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

另见http://es6-features.org/#PropertyShorthand语法糖。