我有一个反应按钮,我想根据已经显示的文本来更改文本。如何使用条件语句执行此操作?
我具有以下代码设置:
buttonClicked() {
}
create() {
return (
<button>X</button>
);
}
很抱歉,如果这真的很简单,我进行了搜索但找不到任何东西,而且我对React还是陌生的。
您可以使用JS QuerySelector
检查按钮文本。
buttonClicked() {
const btn = document.querySelector("#myButton"); // get button elm by id
const text = btn.textContent || btn.innerText; // get button text (the prop is browser-dependant)
// a condition as example
if (text === 'X') console.log('button has X value');
else console.log('button has another value');
}
create() {
return (
<button id="myButton">X</button>
);
}
useState in react,然后切换当前值
export default function App() {
const [buttonText, setButtonText] = useState("My Button");
handleClick = () => {
switch (buttonText) {
case "My Button":
setButtonText("My Button 1");
break;
case "My Button 1":
setButtonText("My Button 2");
break;
case "My Button 2":
setButtonText("Whoops");
break;
default:
setButtonText("My Button");
break;
}
};
return (
<div className="App">
<button onClick={() => handleClick()}>{buttonText}</button>
</div>
);
}