Javascript React.js-完成了一个API获取,用于呈现所有项目,现在我希望能够将每个项目路由到它们的;“拥有”;包含JSON信息的页面
我已经创建了一个React站点,它在一个页面上呈现API获取中的所有项目。我现在想要的是能够按下渲染的每个项目,并能够被路由到一个新组件,显示关于该项目的“更多”信息 下面我有以下代码,其中包含“输入”,您可以使用它搜索所有项目或特定项目。Javascript React.js-完成了一个API获取,用于呈现所有项目,现在我希望能够将每个项目路由到它们的;“拥有”;包含JSON信息的页面,javascript,reactjs,api,routes,Javascript,Reactjs,Api,Routes,我已经创建了一个React站点,它在一个页面上呈现API获取中的所有项目。我现在想要的是能够按下渲染的每个项目,并能够被路由到一个新组件,显示关于该项目的“更多”信息 下面我有以下代码,其中包含“输入”,您可以使用它搜索所有项目或特定项目。 const AgentSearch = (e) => { e.preventDefault(); function capitalizeName(input) { return input.rep
const AgentSearch = (e) => {
e.preventDefault();
function capitalizeName(input) {
return input.replace(/\b(\w)/g, (s) => s.toUpperCase());
}
console.log('you hit search', input);
dispatch({
type: actionTypes.SET_SEARCH_TERM,
term: capitalizeName(input),
});
//do something with input
history.push('/findagent');
};
return (
<form className='search'>
<div class='search__input'>
<SearchIcon className='search__inputIcon' />
<input value={input} onChange={(e) => setInput(e.target.value)} />
</div>
const-AgentSearch=(e)=>{
e、 预防默认值();
函数名(输入){
返回输入。替换(/\b(\w)/g,(s)=>s.toUpperCase());
}
log('youhitsearch',input);
派遣({
类型:actionTypes.SET\u搜索词,
术语:大写名称(输入),
});
//用输入做点什么
history.push('/findagent');
};
返回(
setInput(e.target.value)}/>
以下是呈现所有项目的代码:
eachName = data.map((item) => {
return (
<tr>
<td class='text-left'>{item.name}</td>
<td class='text-left'>{item.agency}</td>
</tr>
);
});
eachName=data.map((项目)=>{
返回(
{item.name}
{项目.机构}
);
});
基本上,我想做的是“捕获”{item.name},并在按下创建的列表上的该项后将其放入fetch的新查询中
我试图创建一个覆盖整个类的按钮,然后将{item.name}作为输入,但这不起作用,我还试图创建一个“假”输入窗口,为列表中的每个项目存储{item name},即使{item name}进入输入窗口,一旦我按下它所连接的按钮,它就会说它没有任何值
有人知道这方面有什么干净的想法吗?我是新手,所以这可能真的很容易,哈哈
谢谢!最简单的方法是单击
td
上的onCLick
。请参阅下面的代码
const eachName = data.map((item) => {
return (
<tr>
<td class='text-left' onClick={() => handleNameClick(item.name)}>{item.name}</td>
<td class='text-left'>{item.agency}</td>
</tr>
);
});
非常感谢你,这么简单的回答,我现在觉得自己很愚蠢,哈哈!你到底在说什么?你在什么地方出错了吗?你不知道如何检查
{item.name}
?
const handleNameClick = itemName => {
//your code to send request for the clicked name
}