Javascript 如何在ReactJS中获取父组件内部的事件目标

Javascript 如何在ReactJS中获取父组件内部的事件目标,javascript,reactjs,Javascript,Reactjs,我有一个带有代码的主组件 changeColor = (color) => { } toggle = (e) => { console.log(e.target) } <div> <EditComponent changeColor={this.changeColor.bind(this)}> <TextComonent toggle={this.toggle.bind(this)}> </div> changeCo

我有一个带有代码的主组件

changeColor = (color) => {

}

toggle = (e) => {
  console.log(e.target)
}

<div>
  <EditComponent changeColor={this.changeColor.bind(this)}>
  <TextComonent toggle={this.toggle.bind(this)}>
</div>
changeColor=(颜色)=>{
}
切换=(e)=>{
console.log(例如target)
}
编辑组件

color = (value) => {
  this.props.changeColor(value)
}
<div>
  <button value='red' onClick={this.color.bind(this,"red")}>Red</button>
  <button value='blue' onClick={this.color.bind(this,"blue")}>Blue</button>
</div>
toggle = (e) => {
  this.props.toggle(e)
}
<div>
  <p class="black-color" onClick={this.toggle.bind(this)}>Text 1</p>
  <p class="black-color" onClick={this.toggle.bind(this)}>Text 2</p>
</div>
color=(值)=>{
this.props.changeColor(值)
}
红色
蓝色
文本组件是

color = (value) => {
  this.props.changeColor(value)
}
<div>
  <button value='red' onClick={this.color.bind(this,"red")}>Red</button>
  <button value='blue' onClick={this.color.bind(this,"blue")}>Blue</button>
</div>
toggle = (e) => {
  this.props.toggle(e)
}
<div>
  <p class="black-color" onClick={this.toggle.bind(this)}>Text 1</p>
  <p class="black-color" onClick={this.toggle.bind(this)}>Text 2</p>
</div>
切换=(e)=>{
此.props.toggle(e)
}
文本1

文本2

我将首先单击
Text 1
Text 2
,然后我将获得
事件
内部
切换功能。接下来,我将单击按钮
红色
蓝色
。然后,对于我以前单击过的特定
文本
,我想将类更改为
红色
蓝色
。如何让父组件内的事件找到特定的
文本
,或者是否有其他方法

我想在父组件中获取
事件.target
。我在父级中获得了
事件
对象,但
事件。目标
您没有正确使用“绑定”。您不需要绑定匿名函数

class Hello extends React.Component {
  render() {
    return (
    <div>
      <p onClick={(e) => this.toggle(e)}>
        Test
      </p>
    </div>);
  }

  toggle = (e) => {
    console.log(e.target.innerText);
    }
}
类Hello扩展了React.Component{
render(){
返回(

this.toggle(e)}> 试验

); } 切换=(e)=>{ console.log(e.target.innerText); } }
通过toggle中的事件变量,您可以根据需要执行更改。


<div>
 <EditComponent changeColor={this.changeColor.bind(this)}>
 <TextComonent toggle={this.toggle}>
 </div>

尝试这种方法不要绑定父组件中的函数并尝试,您将获得目标

我找到了添加
事件的确切解决方案。persist()
获取父组件内部的
事件。target

请创建一个脚本,以便有人更容易帮助您。您问题中当前的代码语法不正确。我找到了添加
event.persist()的确切解决方案
获取父组件内的
事件。target
。是的,我在同一组件的切换函数内获取事件,但我想在父组件内获取它。这就是我挣扎的地方。我得到了
event
对象,但是
event.target
为空。它不应该为空,并以我的答案中所示的正确方式。试试上面的,让我知道。您正在进入同一Hello组件。您能否将
事件
作为参数传递给在父组件内调用函数的props,并尝试像我在问题中所做的那样将其传递到父组件内?您正在将父方法传递给从子组件传递事件的子组件。否。这并没有给出目标。它仍然给出了
null
我在repl在线编辑器中尝试了你的代码,它给我的目标是完美的。请更正链接。”结尾处附加了“go”对不起,请尝试此选项