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”对不起,请尝试此选项