Javascript 锚元素上的反应传递事件和参数

Javascript 锚元素上的反应传递事件和参数,javascript,reactjs,Javascript,Reactjs,我在react组件中有一个anchor元素,我想为它传递事件和参数。下面的代码不起作用。它抛出e.preventDefault()非功能错误。我该怎么做 loadComponent(e, component) { e.preventDefault(); this.setState({ componentToLoad: component }); } <a onClick={() => this.loadComponent(this.event, <FormatName

我在react组件中有一个
anchor
元素,我想为它传递事件和参数。下面的代码不起作用。它抛出
e.preventDefault()非功能错误。我该怎么做

loadComponent(e, component) {
  e.preventDefault();
  this.setState({ componentToLoad: component });
}

<a onClick={() => this.loadComponent(this.event, <FormatName />)}>
  Format Name
</a>
loadComponent(e,component){
e、 预防默认值();
this.setState({componentToLoad:component});
}
this.loadComponent(this.event,)}>
格式名

它应该是
onClick={e=>this.loadComponent(e,)}

您的
设置状态也错误:

this.setState({ componentToLoad: component });
此外,最好存储一个控制组件可见性的状态,而不是状态中的整个组件,然后在
render
中执行条件渲染:

{this.state.showComponent && <FormatName />}
{this.state.showComponent&&}

它应该是
onClick={e=>this.loadComponent(e,)}

您的
设置状态也错误:

this.setState({ componentToLoad: component });
此外,最好存储一个控制组件可见性的状态,而不是状态中的整个组件,然后在
render
中执行条件渲染:

{this.state.showComponent && <FormatName />}
{this.state.showComponent&&}
它可以是
onClick={()=>this.loadComponent()

事件将始终作为处理程序函数的第一个参数出现

loadComponent(e,component){
e、 预防默认值();
this.setState({componentToLoad=component});
}

它可以是
onClick={()=>this.loadComponent()

事件将始终作为处理程序函数的第一个参数出现

loadComponent(e,component){
e、 预防默认值();
this.setState({componentToLoad=component});

}

这不起作用,您将在render上执行函数,而不是将其作为回调传递。这不起作用,您将在render上执行函数,而不是将其作为回调传递。很抱歉,我评论了错误的人,我现在将尝试。我有一个关于将组件保持在状态的问题,它不会被缓存在内存中吗ed?Like request(“React”)并将在各地使用?或者它将为每个组件创建副本?What's
request(“React”)
?当您呈现多个相同的组件时,每个组件都将是一个单独的实例(否则它们将共享相同的状态等)。但对象原型是单例的。无论如何,将组件存储在状态几乎肯定是一种糟糕的做法。很抱歉,我对错误的人发表了评论,我现在将尝试。我有一个关于将组件保持在状态的问题,它不会缓存在内存中并重新使用吗?就像请求(“React”)它将被到处使用?或者它将为每个组件创建副本?什么是
请求(“React”)
?当您渲染多个相同的组件时,每个组件都将是一个单独的实例(否则它们将共享相同的状态等).但对象原型是单例的。无论如何,将组件存储在状态几乎肯定是一种不好的做法。