Reactjs 如何动态显示React中的按钮单击次数 请考虑我是一个初学者,要做出反应,我只有一些基本的反应知识,这是我正在做的一个示例项目来学习反应。在这里,我试图查看动态单击“喜欢”按钮的次数。我试过好几种方法,但都没能达到我的目的。我是如何通过单击另一个名为“刷新”的按钮获得结果的,然后显示结果的。我已随函附上我的代码。如果有人能在这件事上帮助找到解决办法,那就太好了
html代码Reactjs 如何动态显示React中的按钮单击次数 请考虑我是一个初学者,要做出反应,我只有一些基本的反应知识,这是我正在做的一个示例项目来学习反应。在这里,我试图查看动态单击“喜欢”按钮的次数。我试过好几种方法,但都没能达到我的目的。我是如何通过单击另一个名为“刷新”的按钮获得结果的,然后显示结果的。我已随函附上我的代码。如果有人能在这件事上帮助找到解决办法,那就太好了,reactjs,Reactjs,html代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <div id="like_button_container"></div> <
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="like_button_container"></div>
<div id="refresh_button_container"></div>
<script src="https://unpkg.com/react@16/umd/react.development.js" crossorigin></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js" crossorigin></script>
<script src="js/like_button.js"></script>
</body>
</html>
这种方法可能有其原因,所以我将不讨论使用jsx。如果你想继续使用createElement,这个怎么样
let e = React.createElement;
let count = 0;
class Like_button extends React.Component {
constructor(props) {
super(props);
this.state = { liked: false };
}
render() {
if (this.state.liked) {
count++;
}
return e(
'div',
null,
e('button', { onClick: () => this.setState({ liked: true }) }, 'Like'),
e('div', null, 'You Liked This ' + count + ' Times!')
);
}
}
let likeButton = document.querySelector('#like_button_container');
ReactDOM.render(e(Like_button), likeButton);
这将创建一个带有按钮的父div,并将元素显示为子元素。
不确定您最初是如何试图显示“您喜欢这个…”文本的。我把它作为一个附加的div元素放进去了
如果不希望DOM中有额外的父div:
render() {
if (this.state.liked) {
count++;
}
return e(
React.Fragment,
null,
e('button', { onClick: () => this.setState({ liked: true }) }, 'Like'),
e('div','You Liked This ' + count + ' Times!')
);
}
我很好奇你的html文件,为什么你用这些div作为你的元素?在通常的react应用程序中,只有一个根元素,您正在以非常复杂的方式学习简单的示例。为什么不使用jsx和react 16呢。如果你愿意接受(jsx&react 16),我将分享最简单的代码。是的,waqas,如果你不介意的话,请告诉我一种方法。谢谢你的帮助。
render() {
if (this.state.liked) {
count++;
}
return e(
React.Fragment,
null,
e('button', { onClick: () => this.setState({ liked: true }) }, 'Like'),
e('div','You Liked This ' + count + ' Times!')
);
}