2016-11-09 59 views
1

我有一種感覺,我很接近這個......我有一個待辦事項列表應用程序,我正在建設。React Redux Set項目完成

用戶可以點擊標記爲「完成」的按鈕,將該特定項目標記爲完整。

我對此的看法是,當用戶單擊該按鈕僅將「已完成」狀態更新爲true時。

出於某種原因,在州內的文本從所選項目更改爲「不確定」,然後點擊「完成」

這裏的時候,另一個項目增加到狀態是我的行動:

export function completeTodo() { 
    return { 
     type: "COMPLETE_TODO", 
     completed: true 
    } 
} 

這裏是我的減速器:

case "COMPLETE_TODO": { 
      return Object.assign({}, state, { 
       todos: [{ 
        text: action.text, 
        completed: action.completed, 
        id: getId(state) 
       }, ...state.todos] 
      }); 
     } 

回答

0

下面的代碼創建一個新的todo對象新數組和以前所有的待辦事項(所以基本上你添加一個待辦事項的初學者從以前的狀態數組)的ING:

[ 
    { 
    text: action.text, 
    completed: action.completed, 
    id: getId(state) 
    }, 
    ...state 
] 

你應該過濾掉老ToDo對象:

[ 
    { 
    text: action.text, 
    completed: action.completed, 
    id: getId(state) 
    }, 
    ...state.todos.filter(todo => todo.id !== getId(state)) 
] 
+0

不幸的是,這是行不通的。我遇到的主要問題是文本正在更新爲「未定義」,我不確定原因。 – Filth

0

你COMPLETE_TODO行動不具有文本字段,以便減速分配不確定的州。

據我所知,你不想在完成時更改項目的文本屬性。您可以從減速器中刪除文本分配。