在store中index.js的state存放了goods数据,创建了一个goods获取数据,已经实现了商品界面,现在如何在输入框输入商品名称跳转到商品界面
时间: 2024-03-11 08:49:19 浏览: 44
a标签的name属性和id属性实现页内跳转的方法
要实现输入商品名称跳转到商品界面,可以按照以下步骤进行:
1. 在输入框中添加一个onSubmit或onChange事件,监听用户输入的商品名称。
2. 当用户输入商品名称并提交时,应该触发一个函数来处理跳转逻辑。
3. 在处理函数中,可以使用react-router-dom中的history对象来进行页面跳转。具体可以使用history.push()方法来实现。
4. 在跳转到商品界面时,需要将商品名称作为参数传递给商品组件,在商品组件中根据商品名称从state中获取对应的商品数据,展示在界面上。
下面是一个简单的示例代码,供参考:
```
import React, { useState } from 'react';
import { useHistory } from 'react-router-dom';
function SearchBar() {
const [searchText, setSearchText] = useState('');
const history = useHistory();
const handleSearch = () => {
history.push(`/goods?name=${searchText}`);
}
return (
<div>
<input type="text" value={searchText} onChange={e => setSearchText(e.target.value)} />
<button onClick={handleSearch}>Search</button>
</div>
);
}
export default SearchBar;
```
在上面的示例代码中,通过useState来管理输入框的值,通过useHistory来获取history对象,然后在handleSearch函数中调用history.push()方法来实现页面跳转。在跳转时,将商品名称作为参数传递给了/goods路由,并在商品组件中通过props.location.search来获取参数值,从而实现根据商品名称获取商品数据的功能。
阅读全文