MyEvent
1import React, { Component } from 'react'; 2 3export default class MyEvent extends Component { 4 construct(props){ 5 this.state = { 6 data: 'aaa' 7 }; 8 } 9 10 onchange(e) { 11 12 let name=e.target.name; 13 let value=e.target.value; 14 this.setState({[name]:value}); 15 } 16 17 render() { 18 return ( 19 <div> 20 <p>testtttttteee</p> 21 22 <form> 23 <label htmlFor="data">名前:</label> 24 <input name="data" type="text" onChange={(e)=>this.onchange(e)} value={this.state.data}/> 25 <p>{this.state}</p> 26 </form> 27 28 </div> 29 ); 30 } 31}
App
1import React from 'react'; 2 3import './App.css'; 4import NumberOfGames from './NumberOfGames'; 5import PrintBasicInfo from './PrintBasicInfo'; 6import MyEvent from './MyEvent'; 7import MyState_2 from './MyState_2'; 8import MyParent from './MyParent'; 9import NameForm from './NameForm'; 10import FlavorForm from './FlavorForm'; 11import Calculator from './Calculator'; 12 13 14 15 16 17class App extends React.Component { 18 19 constructor(props){ 20 super(props); 21 22 23 24 this.state={ 25 26 place : "" 27 28 } 29 30 } 31 32 handleClickNOG(e){ 33{/* 34 let name=e.target.name; 35 let value=e.target.value; 36 37 this.setState({[name]:value}); 38*/} 39 let value=e.target.value; 40 this.setState({place:value}); 41 42 43 } 44 45 46 47 componentDidUpdate(prevProps,prevState){ 48 console.log(`${this.state.place}です`); 49 } 50 51 52 53render(){ 54 return ( 55 <div> 56 <MyEvent greet="helohelo" /> 57 </div> 58 ); 59} 60} 61 62export default App;
reactの練習でフォームについていろいろいじってるのですが、上記のコードについて。
現在の認識では上記コードで入力ボックスの入力値がstate.dataにセットされて、現在のstate.dataの値が入力ボックス内に表示される挙動でエラーは出ないと思うのですが、実際動かしてみると、
The above error occurred in the <MyEvent> component: in MyEvent (at App.js:56) in div (at App.js:55) in App (at src/index.js:7) Consider adding an error boundary to your tree to customize error handling behavior. Visit https://fb.me/react-error-boundaries to learn more about error boundaries. 1.chunk.js (33089,11) SCRIPT5007: SCRIPT5007: Unable to get property 'data' of undefined or null reference
上記のエラーが出ます。原因がわかりません。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/09 02:24
2019/09/09 03:19
2019/09/11 01:16
2019/09/11 09:25