【发布时间】:2021-05-13 16:42:39
【问题描述】:
我是新手学习反应,我不确定为什么这不能正常工作。 当我按“Enter”时,我想重定向到 /search,但由于某种原因它不起作用。 重定向到不同页面的正确方法是什么?
function App(){
const [inputVal, setInputVal] = useState('');
const [submitted, setSubmitted] = useState(false);
function handleInput(e) {
const query = e.target.value;
setInputVal(query);
}
function handleKeyDown(e) {
if (e.key === 'Enter') {
setSubmitted(true);
console.log(submitted);
console.log(inputVal);
}
}
return (
<div className='App'>
<div>
<h1>Movie</h1>
<input
onKeyDown={handleKeyDown}
onChange={handleInput}
placeholder='Search...'
/>
</div>
<Router>
<Switch>
<Route path='/' exact component={Home} />
{submitted && <Redirect to='/search' />}
<Route path='/search' component={Search} />
<Route path='/details/:id' component={Detail} />
</Switch>
</Router>
</div>
);
}
【问题讨论】:
-
这是因为在 Home 之前的路线上的确切参数。
-
需要将路径推送到路由器历史记录:stackoverflow.com/questions/51393153/…
标签: reactjs redirect react-router