Reactjs 如何对输入进行验证?
我正在制作一个简单的应用程序,用户可以在其中找到电影(使用OMDB API)。所以我做了。但是当我进入一部不存在的电影时,我有一个未定义的地图错误。这是合乎逻辑的,因为不存在包含此类数据的数组。如何进行验证以通知用户错误 搜索功能Reactjs 如何对输入进行验证?,reactjs,react-hooks,Reactjs,React Hooks,我正在制作一个简单的应用程序,用户可以在其中找到电影(使用OMDB API)。所以我做了。但是当我进入一部不存在的电影时,我有一个未定义的地图错误。这是合乎逻辑的,因为不存在包含此类数据的数组。如何进行验证以通知用户错误 搜索功能 const [state, setState] = useState({ s: '', response: [], selected: {} }); const apiURL = 'http://www.omdbapi.com/?ap
const [state, setState] = useState({
s: '',
response: [],
selected: {}
});
const apiURL = 'http://www.omdbapi.com/?apikey=73f30b51'
const searchFilm = e => {
if(e.key === 'Enter'){
axios(apiURL + "&s=" + state.s).then(({data}) => {
let response = data.Search;
setState(prevState => {
return {...prevState, response: []},
{...prevState, response: response}
})
})
}
}
过滤器(映射错误)
constresult=({response,openCurrentMovie})=>{
返回(
{response.map(结果=>(
))}
)
}
如果响应=数据。搜索如果代码>未定义,则可以设置错误状态,并使用它向用户呈现消息
const [error, setError] = useState(null); // use error value to render a component to show error
const searchFilm = e => {
if(e.key === 'Enter'){
axios(apiURL + "&s=" + state.s).then(({data}) => {
let response = data.Search;
if(!response){
setError(true) // setting the error as true. You can give some specific message as well
}
setState(prevState => {
return {...prevState, response: response}
})
})
}
}
如果response=data.Search如果代码>未定义,则可以设置错误状态,并使用它向用户呈现消息
const [error, setError] = useState(null); // use error value to render a component to show error
const searchFilm = e => {
if(e.key === 'Enter'){
axios(apiURL + "&s=" + state.s).then(({data}) => {
let response = data.Search;
if(!response){
setError(true) // setting the error as true. You can give some specific message as well
}
setState(prevState => {
return {...prevState, response: response}
})
})
}
}
只需检查渲染函数中的响应中是否有内容:
const Result = ({response,openCurrentMovie}) => {
if (!response) return <div>Sorry bro, no movie found</div>
return(
...
constresult=({response,openCurrentMovie})=>{
如果(!response)返回抱歉兄弟,找不到电影
返回(
...
只需检查渲染函数中的响应中是否有内容:
const Result = ({response,openCurrentMovie}) => {
if (!response) return <div>Sorry bro, no movie found</div>
return(
...
constresult=({response,openCurrentMovie})=>{
如果(!response)返回抱歉兄弟,找不到电影
返回(
...