javascript - TypeError: this.props.ajouterRecette 不是函数
问题描述
****我是 React 的新手,我收到了这条错误消息,我按照教程做了同样的事情,但是在我的代码中它不起作用,为什么?**
**文件 App.js****
import React, { Component } from 'react' // CSS import './App.css' import Header from './components/Header' import Admin from './components/Admin' import Card from './components/Card' import recettes from './recettes'
//firebase import base from './base'
class App extends Component { state = {
pseudo: this.props.match.params.pseudo,
recettes: {} }
componentDidMount() {
this.ref = base.syncState(`/${this.state.pseudo}/recettes`, {
context: this,
state: 'recettes'
}) }
componentWillUnmount() {
base.removeBinding(this.ref) }
ajouterRecette = recette => {
const recettes = { ... this.state.recettes}
recettes[`recette-${Date.now()}`] = recette
this.setState({recettes})
}
chargerExemple = () => this.setState({recettes})
render () {
...
) } }
export default App
文件 AjouterRecette.js
import React, { Component } from 'react'
class AjouterRecette extends Component { state = {
nom: '',
image: '',
ingredients: '',
instructions: '' }
handleSubmit = event => {
event.preventDefault()
const recette = { ...this.state }
this.props.ajouterRecette(recette)
// Reset
Object.keys(recette).forEach(item => {
recette[item] = ''
})
this.setState({ ...recette }) }
render () {
return (
<div className='card'>
<form className='admin-form ajouter-recette' onSubmit={this.handleSubmit}>
</form>
</div>
) } }
export default AjouterRecette
我想解决这个错误请
TypeError: this.props.ajouterRecette 不是函数
解决方案
您需要ajouterRecette
作为道具传递给您的AjouterRecette
组件,如下所示:
render() {
<AjouterRecette ajouterRecette={this.ajouterRecette} />
}
推荐阅读
- python - 狮身人面像 bibtex 引用列表枚举
- python - 将无限线程作为函数传递
- gmail - Gmail 的 iCalendar 小部件未呈现超过 1 个事件
- image-processing - 在多个图像上查找未更改的区域
- android - Android 调试模式下的 shadow$_klass_ 是什么?
- jquery - 在元素之前只插入一个结束标签?
- robotjs - RobotJS,如何在 Mac 上执行 shift 单击或命令单击?
- javascript - 如果更新失败,猫鼬 findByIdAndUpdate 会返回什么?
- regex - 如何正确处理和解析来自 rsyslog 的多行日志
- web-scraping - 如何在一个单元格中获取 IMPORTXML/IMPORTHTML 结果数据?