gpt4 book ai didi

javascript - React - 单击 div 文本,从另一个 div 更改文本

转载 作者:行者123 更新时间:2023-11-30 11:20:22 25 4
gpt4 key购买 nike

我是 React JS 的新手,所以对于这个问题我很抱歉。

我正在这里开发一个组件 ( https://codesandbox.io/s/8pkl8w6xy0 ) 我有一个 <div>里面有文字。在这之外 <div>另一个文本

我正在寻找一种方法来替代“取代我!”与“我想取代那个人!”,当我点击“我想取代那个人!”。

到目前为止,一切都很好,但是当我点击“我想替换那个人!”时,<div> 中的文本不会改变。

带有“替换我!”的组件:

class TextBox extends React.Component {
constructor(props) {
super(props);
this.state = {
content: 'Replace me!'
};
this.changeContent = this.changeContent.bind(this);
}

changeContent (newContent) {
//code to change 'Replace me!' with 'I wanna replace that guy!'
//when I click 'I wanna replace that guy!'
this.setState({
content: newContent
});
}

render() {
return (
<div>
<div className="content_box">{this.state.content}</div>
<Content onClick={this.changeContent}></Content>
</div>
);
}
}

ReactDOM.render(
<TextBox />,
document.getElementById("root")
);

带有“我想取代那个人!”的组件:

export class Content extends React.Component {
constructor(props) {
super(props);

this.handleClick = this.handleClick.bind(this);
}

handleClick(e) {
const content = e.target.value;
this.props.onClick(content);
}

render() {
return (
<div onClick={this.handleClick} value="heeey" className="text_color">
I wanna replace that guy!
</div>
);
}
}

export default Content;

谢谢你的帮助。

最佳答案

在这段代码中:

handleClick(e) {
const content = e.target.value;
this.props.onClick(content);
}

render() {
return (
<div onClick={this.handleClick} value="heeey" className="text_color">
I wanna replace that guy!
</div>
);
}

您实际上并没有将任何值传递给 handleClick

基本上,您希望保持 div 的内容处于状态,然后对其进行修改。

工作示例 here .

关于javascript - React - 单击 div 文本,从另一个 div 更改文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50043933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com