繁体   English   中英

如何使用Redux从数组中删除元素? 的JavaScript

[英]How remove an element from array with Redux ? JavaScript

我想从数组中删除一个元素,但是我没有得到,我的代码是:

 const renderCount = state => { const peopleHtml = state.filteredPeople.map(person => { const personHtml = document.createElement('LI'); const personName = document.createTextNode(person.name); const buttonDelete = document.createElement('Button'); const textOfButtonDelete = document.createTextNode('Delete'); buttonDelete.appendChild(textOfButtonDelete); personHtml.appendChild(personName); personHtml.appendChild(buttonDelete); buttonDelete.onclick = function() { return {...state,filteredPeople : state.filteredPeople.filter( (item, index) => index !=="Jean")} } return personHtml; }); resultado.innerHTML = ''; peopleHtml.forEach(personHtml => resultado.appendChild(personHtml)); }; export default renderCount; 

代码是做什么的? 他以3合3的方式渲染数组的元素。数组的每个元素都有一个“删除”按钮,每当我单击该按钮时,一个元素就会离开屏幕。

代码和按钮为: buttonDelete.onclick....

谢谢,下午好。

这不是在reactjs中做的正确方法。 相信虚拟DOM。 您的状态值和HTML元素将彼此通信,您不需要使用appendChild或removeChild来更新它们,只需更新状态值即可。 像下面这样

render()
    {
        return (
          <div>
             <ul>

             {this.state.filteredPeople.map(person => { =>
              <li>
               {person.name} 
               <button onClick={this.deleteme.bind(this,person.id)}>Delete</button>
             </li>
          )}

            </ul>

         </div>

        );
    }
deleteme(index){
     let initial_val = this.state.contents.slice();
     let obj_to_del= initial_val.find(person => person.id === id);
     initial_val.remove(obj_to_del);
   this.setState({people:initial_val});

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM