首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError: setExercises不是一个函数

TypeError: setExercises不是一个函数
EN

Stack Overflow用户
提问于 2022-08-12 17:07:31
回答 2查看 60关注 0票数 0

我正在使用API制作一个Recat健身房网站,在这个过程中,当我搜索一些东西时,它会得到数据并显示错误,也就是说,数据不会传递到setExercise以显示给屏幕。这是用于搜索onClick={handlesearch}的函数

代码语言:javascript
复制
const SearchExercises = (setExercises) => {

const handleSearch= async()=>{
            if(search){
                const exerciseData = await fetchData('https://exercisedb.p.rapidapi.com/exercises', exerciseOptions);
                const SearchExercises = exerciseData.filter((exercise)=>
                    exercise.name.toLowerCase().includes(search));
                setSearch('');
                setExercises(SearchExercises);
            }
        }
}

useState在home.js文件中定义。

代码语言:javascript
复制
function Home() {
  const [bodyPart,setBodyPart] = useState('all')
  const [exercises, setExercises] = useState([])
  return (
    <Box><SearchExercises setExercises={setExercises} bodyPart={bodyPart} setBodyPart={setBodyPart}/>
    </Box>
  )
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-08-12 17:11:45

当您将道具传递给React组件时,第一个参数包含您的所有道具。常见的模式是像这样对它们进行分解。

代码语言:javascript
复制
const SearchExercises = ({ setExercises, bodyPart, setBodyPart }) => {
票数 2
EN

Stack Overflow用户

发布于 2022-08-12 17:19:00

你应该收到像这样的道具。

代码语言:javascript
复制
const SearchExercises = ({setExercises}) => {

..。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73337619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档