回答編集履歴
2
ちょい文言調整
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
`Dismissible`の`key`に`Key(index.toString())`を指定しているのが原因だと思います。
|
2
2
|
|
3
|
-
これだと、途中のTODOが削除された場合、
|
3
|
+
これだと、途中のTODOが削除された場合、削除したindexが他のTODOで使いまわされてしまい、不整合が起きるので、エラーになっているようです。
|
4
4
|
|
5
5
|
|
6
6
|
|
1
ObjectKeyを使うのがよさそうなので回答を編集
test
CHANGED
@@ -1,9 +1,7 @@
|
|
1
|
-
`Dismissible`の`key`に`index.toString()`を指定しているのが原因だと思います。
|
1
|
+
`Dismissible`の`key`に`Key(index.toString())`を指定しているのが原因だと思います。
|
2
2
|
|
3
3
|
これだと、途中のTODOが削除された場合、別のTODOに削除したindexが使いまわされてしまい、削除した`key`が存在しているのでエラーになっているようです。
|
4
4
|
|
5
5
|
|
6
6
|
|
7
|
-
|
7
|
+
`Dismissible`の`key`を`ObjectKey(_todos[index])`にするとTODOごとにユニークなキーになるので、エラーが発生しなくなりました。
|
8
|
-
|
9
|
-
※たとえば UUID など
|