前提・実現したいこと
以下のサイトで紹介されているToDOアプリを作っています。
[参考記事]
React.jsでbuttonをクリックされたときに、入力内容をリストに追加するプログラムを実装中にエラーが起きました。
mapについてのエラーです。
発生している問題・エラーメッセージ
todos.map is not a function
該当のソースコード
React.js
1コimport React, {Component} from 'react'; 2import logo from './logo.svg'; 3import './App.css'; 4 5const App = () =>{ 6 return<Todo /> 7} 8 9class Todo extends Component{ 10 11 constructor(props){ 12 super(props); 13 14 // thisの中にこういう数列をこういう初期値で用意しますよ 15 this.state ={ 16 todos: [], 17 name: '' 18 }; 19 } 20 21 addTodo = () => { 22 const{todos,name}=this.state; 23 this.setState({ 24 todos: {...todos,name} 25 }); 26 } 27 28 29 30render(){ 31 const {todos} = this.state; 32 33 return (<div> 34 <input type="text" onInput={this.onInput}/> 35 <button onClick={this.addTodo}>登録</button> 36 <ul> 37 {/* mapでリストに変換 */} 38 {todos.map((todo,index) => <li key ={index}> {todo} </li> )} 39 </ul> 40 41 </div>); 42} 43} 44export default App; 45
### 回答お願いいたします!
初心者で困っています。何が悪いのでしょうか、おしえてください!
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/25 07:10