javascript - 如何将返回传递的数据传递回组件以在 html 中显示
问题描述
好的,所以我有一个文件,它在一个单独的文件中包含一堆实用程序函数,例如:
const imprGuid = () => {
data.map((result) => {
return result.request.requestContext.mpcBidRequest.imprGuid;
});
};
我有我的主要 index.js 组件,就像这样
const IndexPage = () => {
return (
<Layout>
<main>
<section id='request' className={sectionStyles}>
<h2 className={h2Styles}>request</h2>
<div className='mt-5 flex justify-around'>
<Btn onClick={() => imprGuid()}>sspBidFloor</Btn>
<Btn onClick={() => console.log('button was clicked')}>geoData</Btn>
我有一个按钮 UI。它将分别调用 ultil 函数 onClick。调用该函数后,我想在 UI 中显示结果,但是我似乎无法将头绕在两件事上。
- 如何在 UI 中显示返回的数据。我已经导入了它并在上面使用了它,
onClick
但是我如何在其他地方显示返回的内容? - 如何根据单击的按钮更改显示的内容...例如,我单击一个按钮以显示某些内容,然后单击另一个按钮,我想用新按钮替换以前的按钮。
更新:
我已添加useState
,但返回的值仍未显示。
const IndexPage = () => {
const [data, setData] = useState();
...
按钮点击是
<Btn onClick={() => setData(imprGuid())}>sspBidFloor</Btn>
util 函数现在是:
const imprGuid = () => {
data.map((result) => {
let imprGuid = result.request.requestContext.mpcBidRequest.imprGuid;
console.log(imprGuid);
return imprGuid;
});
};
我将数据放在 {data} 之类的组件中,但没有出现任何内容,但结果可以很好地打印到控制台。所以我猜它会返回数据好吗?
进一步更新。
{data.map((result, i) => (
<>
{i}: {result}
<br />
</>
))}
我现在无法读取未定义的属性“地图”。然而修复工作,然后我刷新,现在它返回未定义......状态和功能没有改变:(
解决方案
正如安迪所说,该imprGuid
函数不返回任何内容,这就是它不起作用的原因。
下面的功能应该可以解决您的问题:
const imprGuid = () => {
return data.map(result => result.request.requestContext.mpcBidRequest.imprGuid);
};
要在每个元素之间添加断线,您可以使用<br/>
标签。
<code>
{(data || []).map(el => <>el<br/></>)}
</code>
推荐阅读
- html - 邻近的带有变换缩放容器的 s 导致插入框阴影失败
- html - 如何在 $_POST 中获取 HTML 输入以进行文件上传
- arrays - 如何检查一个数组是否包含在 Swift 中的另一个数组中?
- r - 合并两个缺失值的数据框
- r - 分组并在 R 中粘贴 2 个变量
- datetime - DateTime <--> DateTimeOffset 的最佳实践
- javascript - 从数组中添加和删除数据以及如何在条件渲染中使用它?
- r - 使用 ggplot2 创建散点图,其中许多回归线基于所有点和分组变量,以及通过分组变量的点
- c - 具有输入检查和重试选项的功能
- c# - BigInteger 解析指数大于 1000 的科学记数法,结果为 9999