javascript - 如何使用 onClick 事件渲染一些 JSX?
问题描述
因此,当用户按下按钮时,我尝试渲染一些 JSX,我尝试通过 onClick 执行此操作,但它不起作用,JSX 不会在屏幕上渲染。有没有办法做到这一点?我的代码是这样的:
function RandomScreen() {
async function HandleClick() {
// make API post request
.then(function(response) {
return (<h1>{response.data}</h1>)
})
}
return (
<button onClick={HandleClick}>Click me</button>
)
}
解决方案
我想你正在寻找这样的东西:
function RandomScreen() {
const [data, setData] = useState(null);
async function HandleClick() {
fetch("https://jsonplaceholder.typicode.com/todos/1")
.then((response) => response.json())
.then((json) => {
console.log(json);
setData(json);
});
}
return (
<button onClick={HandleClick}>
Click me
{data && <h1>{JSON.stringify(data, null, 2)}</h1>}
</button>
);
}
推荐阅读
- python - QTableWidget.scrollToItem 功能问题
- amazon-web-services - 是否可以将我的组织红移数据卸载到我的组织外部的 s3 存储桶?
- python - 从 Django values() 获取外键值
- android - SingleChildScrollView 在 Column 内不起作用
- r - 无法在 for 循环内的 ggplot2 中使用 facet
- c# - c# 如何使用不同的签名来处理抽象工厂(?)
- assembly - 要求用户输入三个数字(每个是一个字节) A、B 和 C 将数字相加并将总和存储在变量 D 中输出总和
- python - 如何更好地分隔地块?
- css - 我不能将 flexbox 用于可触摸的不透明度/可按压。如何将这两个元素连续对齐?
- attachment - 无法通过包@waves/waves-transactions 在 Waves 比特币中附加交易消息