簡體   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