Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.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 通过单击从一个组件渲染到另一个组件_Javascript_Reactjs - Fatal编程技术网

Javascript 通过单击从一个组件渲染到另一个组件

Javascript 通过单击从一个组件渲染到另一个组件,javascript,reactjs,Javascript,Reactjs,我有一个实际上是表行的组件: class Row extends PureComponent { static propTypes = { user: PropTypes.shape({ id: PropTypes.number.isRequired, firstName: PropTypes.string, lastName: PropTypes.string, email: PropTypes.string, phone

我有一个实际上是表行的组件:

class Row extends PureComponent {
  static propTypes = {
    user: PropTypes.shape({
      id: PropTypes.number.isRequired,
      firstName: PropTypes.string,
      lastName: PropTypes.string,
      email: PropTypes.string,
      phone: PropTypes.string
    }).isRequired
  };

  onSelect = event => {
    console.log(event);
  };

  render() {
    const { user } = this.props;
    return (
      <div className="row" onClick={event => this.onSelect(user)}>
        <div>{user.id}</div>
        <div>{user.firstName}</div>
        <div>{user.lastName}</div>
        <div>{user.email}</div>
        <div>{user.phone}</div>
      </div>
    );
  }
}
类行扩展了PureComponent{
静态类型={
用户:PropTypes.shape({
id:PropTypes.number.isRequired,
名字:PropTypes.string,
lastName:PropTypes.string,
电子邮件:PropTypes.string,
电话:PropTypes.string
}).需要
};
onSelect=event=>{
console.log(事件);
};
render(){
const{user}=this.props;
返回(
this.onSelect(用户)}>
{user.id}
{user.firstName}
{user.lastName}
{user.email}
{user.phone}
);
}
}

如何在另一个组件(生成表)中传递onSelect函数中的事件?

欢迎使用StackOverflow Bogdan!您可以将父组件中的函数作为道具传递到
,然后调用它。谢谢Thole!很遗憾我自己没有考虑过,因为我以前已经用过这个方法了。这就是它现在的样子:this.props.onSelect(user)}>这看起来是一个不错的解决方案。@BogdanNechaenko,虽然你的解决方案很好,但在渲染中使用内联箭头函数不是一个好主意,检查@Shubham Khatri,它说我可以使用PureComponent来解决这个问题。这就是我在上面代码中使用的