我正在尝试使用 React Native ListView 对两行的交换进行动画处理
这是我的数据源代码(都在我的渲染方法中):
const ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1.id !== r2.id})
var dataSource = ds.cloneWithRows(state.todoLists[this.props.index].todos.slice())
这是我的交换代码(使用 MobX):
var {todo, i} = forID(state.todoLists[list].todos, id) //Gets index and todo from id
state.todoLists[list].todos.splice(i, 1)
state.todoLists[list].todos.push({...todo, done: !todo.done})
如您所见,由于数组项只是向下移动,因此等价性保持不变。
有任何想法吗?