我已经尽我所能地学习了本教程(https://www.freecodecamp.org/news/pass-data-between-components-in-react/),但仍然有困难

我收到以下错误:

Uncaught TypeError: childToParent is not a function"

以下是父函数:

function App() {
const childToParent =(value) => {console.log(value)}
...
return (
...
  <SelectHours value={state.selectedHour} childToParent={childToParent}></SelectHours>
...
)

和子函数:

export default function SelectHours(selectedHours, childToParent) {
....
return (
<Select
  labelId="select-demo"
  id='select-demo'
  defaultValue=""
  //onChange={event => handleChange(event.target.value, true)}
  value={workHours[0] ? workHours[0] : ""}
>
  {
    workHours.map((value, index) => {
      return (
        <MenuItem
          value={value ? value : ""}
          key={index}
          onClick={() => childToParent(value)}
        >
          {value}
        </MenuItem>
      )
    })
  }
</Select>
)
....
}

推荐答案

你需要加上你的花括号,这样react可以告诉你这是props .

export default function SelectHours({selectedHours, childToParent}) {
....
return (
<Select
  labelId="select-demo"
  id='select-demo'
  defaultValue=""
  //onChange={event => handleChange(event.target.value, true)}
  value={workHours[0] ? workHours[0] : ""}
>
  {
    workHours.map((value, index) => {
      return (
        <MenuItem
          value={value ? value : ""}
          key={index}
          onClick={() => childToParent(value)}
        >
          {value}
        </MenuItem>
      )
    })
  }
</Select>
)
....
}

Javascript相关问答推荐

复合密钥查找在mongoDB中未按预期工作

如何将特定的字符串类型转换为TypScript中的字符串?

使用useParams路由失败

为什么使用MAX_SAFE_INTEGER生成随机整数时数字分布不准确?

为什么getRecord()会因为与_logger相关的错误而失败?(使用Hedera SDK)

在页面上滚动 timeshift 动垂直滚动条

如何在Javascript中的控制台上以一行形式打印循环的结果

在观察框架中搜索CSV数据

在拖放时阻止文件打开

显示图—如何在图例项上添加删除线效果?

阿波罗返回的数据错误,但在网络判断器中是正确的

如何从隐藏/显示中删除其中一个点击?

如何根据当前打开的BottomTab Screeb动态加载React组件?

Reaction Native中的范围滑块

IF语句的计算结果与实际情况相反

使用Nuxt Apollo在Piniastore 中获取产品细节

Nextjs 13.4 Next-Auth 4.2登录(&Quot;凭据&,{});不工作

钛中的onClick事件需要在两次点击之间等待几秒钟

在Odoo中如何以编程方式在POS中添加产品

AG-GRIDreact 显示布尔值而不是复选框