我有一个从api获取的json数据。假设表是(下表只是一个示例)
Name | Age
A 20
B. 25
现在,我从api获取名称和年龄内容,并将其显示为表格式(我使用React js)。现在,我想使名称的内容(如a和B)可点击。当我单击A时,它应该将我链接到另一个api url(这里的问题是每个名称对象的api url都不同),因此
A = http://example/name?=A
B = http://example/name?=B
现在,如何将我的名称对象内容(A,B)链接到api(url),并使其获取数据并显示为另一个页面上的表。
所以,当我点击一个,它应该会把我发送到另一个网址,在那个网页上,我应该能够看到(我刚刚被发送到的api网址)在表格中提取的数据。
我的代码:
import React, { Component } from "react";
export default class Stocks extends Component {
constructor(props) {
super(props);
this.state = {
items: [],
isLoaded: false,
search: "",
};
}
updateSearch(event) {
this.setState({ search: event.target.value });
}
componentDidMount() {
fetch("http://131.181.190.87:3001/all")
.then((res) => res.json())
.then((json) => {
this.setState({
isLoaded: true,
items: json,
});
});
}
render() {
let filteredItems = this.state.items.filter((item) => {
return (
item.symbol.toUpperCase().indexOf(this.state.search.toUpperCase()) !==
-1 || item.industry.indexOf(this.state.search) !== -1
);
});
var { isLoaded, items } = this.state;
if (!isLoaded) {
return <div>Loading...</div>;
} else {
return (
<div>
<form className="form-for-table-search">
SelectSymbol:  
<input
type="text"
value={this.state.search}
onChange={this.updateSearch.bind(this)}
/>
   {" "}
<button type="button" className="btn-submit">
Search
</button>
<br />
  Industry:      
<input
type="text"
value={this.state.search}
onChange={this.updateSearch.bind(this)}
/>
<button type="button" className="btn-submit">
Search
</button>
    History of Symbol and date :      
<input
type="text"
value={this.state.search}
onChange={this.updateSearch.bind(this)}
/>
   
<button type="button" className="btn-submit">
Search
</button>
</form>
<table border={2} cellPadding={1}>
<thead>
<tr>
<th>Symbol</th>
<th>Name</th>
<th>Industry</th>
</tr>
</thead>
<tbody>
{filteredItems.map((item) => (
<tr>
<td key={item.symbol}>{item.symbol}</td>
<td key={item.name}>{item.name}</td>
<td key={item.industry}>{item.industry}</td>
</tr>
))}
}
</tbody>
</table>
</div>
);
}
}
}
任何帮助是值得赞赏的。谢谢。
您可以动态地创建您的点击处理程序来传递您需要的信息,以创建用于获取的url。大概是这样的:
handleClick = name =>
fetch(`http://example.com/name?=${name}`).then((data) => {
// handle redirect to new page
})
<td key={item.name} onClick={() => handleClick(item.name)}>{item.name}</td>
在不了解你的应用程序如何设置的情况下,我无法就如何重定向到你的新页面给出正确的答案。
如果您使用的是React路由器,您可以使用重定向或历史记录将数据传递给您的显示表组件。或者,您可以在表单元格中呈现链接,将名称作为道具传递给新页面组件,并让该组件在挂载时获取。
问题内容: 我在使用Scala将字段添加到Play Framework中的Json对象时遇到问题: 我有一个包含数据的案例类。例如: 并且我能够使用Json Writes创建一个Json对象: 并且Json看起来像: 假设我想向Json对象添加一个附加的’c’字段。结果: 如何在不创建新案例类或使用Json.obj自己创建Json对象的情况下做到这一点?我正在寻找类似的东西: 任何帮助表示赞赏!
我想从JSON响应中添加链接:https://xxx.xxx/posters/poster.jpg,这里是我的代码: 下面是JSON响应: 如何让它变成这样:
问题内容: 我正在尝试自动将新对象添加到现有json文件中。我在网上四处张望,却发现添加了数据和东西,但没有发现整个对象。这就是我要编辑的文件的外观: 我想去 谢谢您的所有答复,但我认为所有人都无法完全理解我的意思。我已经尝试了一些答案,但是后来我明白了: 我想在[]之间保持平衡。 问题答案: 如果使用json.NET,则可以简单地反序列化和序列化json。
我在demo.json中有这个json对象
问题内容: 我需要添加一个通常为http:\ somewebsite.com \ somepage.asp格式的URL。当我使用上述URL创建字符串并将其添加到JSON对象json中时 使用 它附加了一个额外的“ \”,当我检查输出时,就像 当我将URL作为 json输出时 您能帮我按原样检索URL吗? 谢谢 问题答案: 您的JSON库会自动转义斜线等字符。在接收端,您必须使用像这样的函数删除那些
问题内容: 我有一个JSON对象,该对象在页面加载时启动,如下所示: 有没有一种方法可以在第一个元素之前注入一个元素,以便在执行a时,新元素将在对象启动时添加的元素之前循环遍历? 原因是,我正在向用户显示一些项目。当用户通过javascript添加新项目时,我希望此新项目显示在所有现有项目上方,但是当我添加新项目时,即 然后,JSON对象如下所示: 而不是我想要的是: 有任何想法吗? 问题答案: