gpt4 book ai didi

javascript - 按下按钮时更改文本 (React.js)

转载 作者:行者123 更新时间:2023-11-29 16:04:44 26 4
gpt4 key购买 nike

我对使用 react.js 比较陌生。我在 div 的顶部有一系列按钮,当按下每个按钮时,我想显示一组不同的文本。我已经能够创建一个在按下按钮时激活的功能(并使用警报对其进行测试),但我似乎无法弄清楚如何让它为每个不同的按钮显示不同的文本集或如何根据按下的按钮传递它。

class App extends Component {
handleClick() {
alert("Test");
}

render() {
return (

<body>
<div class="App">
<div class="floating-box">
<div class="search-tickets">
<button id="demo" class="color-button">Button 1</button>
<button class="color-button button2">Button 2</button>
<button class="color-button button3">Button 3</button>
<button ref="test" class="color-button button4" onClick={this.handleClick}>Button 4</button>

<h1 class="h1-text">Text</h1><br/>
<h2>
<br/>-123
<br/>-456
<br/
</h2>

</div>
</div>
</div>
</body>
);
}

export default App;

理想情况下,我想要做的是在单击每个按钮时在按钮下方显示一段不同的文本。我看到帖子希望更改按钮文本或颜色,但不会真正影响单独的一段文本。

关于这方面的任何指导都将非常有帮助。

最佳答案

使用 this.setState 更新一个变量,然后基于它进行渲染。按钮有 onClick 调用更新状态的函数:

class App extends React.Component {
state = {
text: 'something'
}

onClickButton1 = () => {
this.setState({
text: 'clicked 1'
});
}

onClickButton2 = () => {
this.setState({
text: 'clicked 2'
});
}

// etc...

render() {
return (
<div>
<button onClick={this.onClickButton1}>
Button 1
</button>
<button onClick={this.onClickButton2}>
Button 2
</button>
<h1>{this.state.text}</h1>
</div>
);
}
}

ReactDOM.render(
<App />,
document.getElementById('app')
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>

<div id="app"></div>

关于javascript - 按下按钮时更改文本 (React.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46737933/

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