reactjs - 使用 React 找不到搜索时,我的代码显示错误
问题描述
请对使用 API 的 React 不熟悉,当找不到搜索对象时,它会返回错误!请帮我。我尝试过使用我知道的技术,但它不起作用。我需要做什么或添加以使其工作并在未返回搜索时返回非错误。
function Search() {
const[searchQuery, setSearchQuery] = useState('');
const[advices, setAdvices] = useState({ slips: [] });
const text = 'Tweet';
const shareText = 'Check https://adviser.surg.sh for more...';
const onInputChange = (e) => {
setSearchQuery(e.target.value);
}
let API_URL = `https://api.adviceslip.com/advice/search/`;
const fetchAdvices = async () => {
const result = await axios.get(`${API_URL}${searchQuery}`);
console.log(result.data);
setAdvices(result.data);
}
const onSubmitHandler = (e) => {
e.preventDefault();
fetchAdvices();
}
return (
<div>
<section>
<form className='search-box' onSubmit={onSubmitHandler}>
<input
type='search'
placeholder='Search for advice e.g love'
value={searchQuery}
onChange={onInputChange}
/>
<button className='search-btn' type='submit'>Search</button>
</form>
<div className='adviceList'>
{
advices.slips.map((advice, id) => {
return (
<div key={id}>
<div className='advice-card'>
<h2>{advice.advice}</h2>
<p> <Twitter text={text}
url={advice.advice}
shareText={shareText} />
</p>
</div>
</div>
);
})
}
</div>
</section>
</div>
)
}
export default Search
我该如何解决这个问题,请帮助我做什么。
解决方案
而不是使用等待,试试这个;
const fetchAdvices = axios.get(`${API_URL}${searchQuery}`)
.then(result => {
console.log(result.data);
setAdvices(result.data);
}).catch(error => {
console.log(error);
// handleError(error);
});
推荐阅读
- ssh - SSH 但不能 ping
- mongodb - 使用 --uri 参数时 mongodump 挂起
- html - Bootstrap 4卡水平滚动问题?
- java - Spring:在@Component+@Transactional 类线程中使用EntityManager 是否安全?
- python - Filter pandas column of lists based on a list
- html - 如图所示,如何更改页脚上方某个区域的背景颜色?我正在使用wordpress
- python-3.x - catboost 上的 com 交叉验证和池问题
- python - 基于 CharField 选择动态生成 Django 表单
- python - 具有 groupby 两个特征的箱线图
- java - 在选项卡布局/片段中切换时 Android 应用程序崩溃