使用状态和按钮从列表中删除元素

时间:2016-11-10 16:56:29

标签: javascript reactjs react-native

我有一个像这样创建的列表:

Empty Cache and Hard Reload

如何创建一个按钮,让我删除特定的div元素并减少状态限制?

2 个答案:

答案 0 :(得分:2)

在React中,您必须将几乎所有内容绑定到数据。在您的示例中,所有这些项应由一些基础数据表示。这是一个非常基本的例子:



class Example extends React.Component {
  constructor() {
    super();
    this.state = {
      data: ['Item 1', 'Item 2', 'Item 3', 'Item 4', 'Item 5'],
    };
  }
  removeItem(item) {
    let data = this.state.data.filter((_, i) => i != item);
    this.setState({ data });
  }
  render() {
    return (
    <div>
      {this.state.data.map((item, i) => <div key={i} onClick={() => this.removeItem(i)}>{item}</div>)}
    </div>
    );
  }
}

ReactDOM.render(<Example/>, document.getElementById('View'));
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="View"></div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

创建一个按钮

<button onClick={removeDiv}>
  Remove div
</button>

添加功能removeDiv

function removeDiv(){
  this.state.limit.shift()
  this.setState({limit: this.state.limit})
}

更改状态时,组件将以新状态重新呈现。