跳至內容

react/no-set-state 風格

此規則的作用

禁止在 React 元件中使用 this.setState

為什麼這是不好的?

當使用將應用程式狀態與 UI 元件分離的架構(例如 Flux)時,可能需要禁止使用本機元件狀態。此規則在唯讀應用程式(不使用表單)中特別有用,因為在這種情況下,本機元件狀態應很少是必要的。

範例

jsx
var Hello = createReactClass({
  getInitialState: function () {
    return {
      name: this.props.name,
    };
  },
  handleClick: function () {
    this.setState({
      name: this.props.name.toUpperCase(),
    });
  },
  render: function () {
    return <div onClick={this.handleClick.bind(this)}>Hello {this.state.name}</div>;
  },
});

參考資料

在 MIT 許可下發布。