Reactjs 在提交时如何使用功能组件在react中呈现页面?
表单提交时要运行的函数: 我想在我点击enter键后呈现一个类似“/searchResults”的页面,它将包含我的搜索结果状态值Reactjs 在提交时如何使用功能组件在react中呈现页面?,reactjs,react-router,react-functional-component,Reactjs,React Router,React Functional Component,表单提交时要运行的函数: 我想在我点击enter键后呈现一个类似“/searchResults”的页面,它将包含我的搜索结果状态值 返回( setSearch(event.target.value)}/> 您必须声明一个初始化为null/undefined的状态(例如result)。调用search\u item并将搜索结果设置为该状态。然后使用条件呈现来呈现结果(如果有) 假设已将searchResult状态设置为“结果”,则在创建了一个提供结果项并返回渲染组件的渲染器函数后,可以对其执行条件
返回(
setSearch(event.target.value)}/>
您必须声明一个初始化为null/undefined的状态(例如result)。调用search\u item
并将搜索结果设置为该状态。然后使用条件呈现来呈现结果(如果有)
假设已将searchResult状态设置为“结果”,则在创建了一个提供结果项并返回渲染组件的渲染器函数后,可以对其执行条件渲染:
return (
<div className="header">
<img className="header__logo" src="" alt="" />
<div className='header__searchBox'>
<form onSubmit={search_item} className="header__search">
<input placeholder="Input The Keywords" onChange = {event => setSearch(event.target.value)}/>
<SearchIcon className="header__searchIcon"/>
</form>
...
{searchResult&&(
{searchResults.map(renderResultItem)}
)}
Ok,在我的例子中,状态是搜索结果,我在其中存储了我的结果。我如何在这里使用条件呈现?@Kavian Rabbani,但我不想呈现html div。我想呈现一个有自己路径的新页面。
function search_item(event){
event.preventDefault();
if(search_results.length===0){
alert("No results Found")
}else{
alert("Found Something");
// render a search results page;
}
}
return (
<div className="header">
<img className="header__logo" src="" alt="" />
<div className='header__searchBox'>
<form onSubmit={search_item} className="header__search">
<input placeholder="Input The Keywords" onChange = {event => setSearch(event.target.value)}/>
<SearchIcon className="header__searchIcon"/>
</form>
<div>
<form ...>
...
</form>
{searchResult && (
<div>
{searchResults.map(renderResultItem)}
</div>
)}
</div>