Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript React-JS eventhandler未更新组件_Javascript_Reactjs - Fatal编程技术网

Javascript React-JS eventhandler未更新组件

Javascript React-JS eventhandler未更新组件,javascript,reactjs,Javascript,Reactjs,我有一个person组件,带有此源代码 const person = props => { return ( <div> <p onClick={props.click}> I'm {props.name} and I am {props.age} years old! </p> <p>{props.children}</p> <input type

我有一个person组件,带有此源代码

const person = props => {
  return (
    <div>
      <p onClick={props.click}>
        I'm {props.name} and I am {props.age} years old!
      </p>
      <p>{props.children}</p>
      <input type="text" onChange={props.changed} />
    </div>
  );
};
在我的render方法中,我添加了一个名为changed的变量,在这里我调用this.nameChangedHandler来更改第二个persons对象的名称

<Person
  name={this.state.persons[1].name}
  age={this.state.persons[1].age}
  click={this.switchNameHandler.bind(this, "Kris!")}
  changed={this.nameChangedHandler}
>
  My hobbies: Racing
</Person>;

我的爱好:赛车
;

每当我在输入字段中键入一些数据时,它都不会更改人员的姓名?

它会起作用,同时请注意,
const person
将是
const person
我发现了这个问题,是关于命名我的nameChangedHandler的,在我的文本编辑器中是错误的。但是,我是否应该将人名组件更改为大写K?是的。所有自定义组件的首字母都应大写
<Person
  name={this.state.persons[1].name}
  age={this.state.persons[1].age}
  click={this.switchNameHandler.bind(this, "Kris!")}
  changed={this.nameChangedHandler}
>
  My hobbies: Racing
</Person>;