to do アプリで、完了したタスクを移動させようとしているのですが、上手くいきません
constructor(props){ super(props); this.state={ value:'', todoList:[], completeList:[], } } onChange(event){ this.setState({ value: event.target.value, }) } add(){ this.setState({ todoList: this.state.todoList.concat(this.state.value), value:'', }) } delete(idx){ const value = this.state.todoList; value.splice(idx,1); this.setState({todoList: value}); } complete(idx){ const value = this.state.todoList; const CompleteTodo=this.state.todoList; value.splice(idx,1); this.setState({todoList: value}); this.setState({completeList:CompleteTodo}); } render() { const todoListNode= this.state.todoList.map((todo,idx)=>{ return <li key={idx}> {todo} <button onClick={()=>{this.delete(idx)}}>削除</button> <button onClick={()=>{this.complete(idx)}}>完了</button> </li> }) const CompleteListNode=this.state.completeList.map((todo,idx)=>{ return <li key={idx}> {todo} </li> }) return ( <div> <input type="text" value={this.state.value} onChange={(event)=>{this.onChange(event)}} required="required" /> <button onClick={()=>{this.add()}}>保存</button> <ul> {todoListNode} </ul> <h2>完了</h2> <ul> {CompleteListNode} </ul> </div> ); } }
complete(idx){ const value = this.state.todoList; const CompleteTodo=this.state.todoList; value.splice(idx,1); this.setState({todoList: value}); this.setState({completeList:CompleteTodo}); }
上のcomplete内の書き方がおかしいのではないかと思って試行錯誤しているのですが、エラーしか出ないので困っています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/29 05:28