繁体   English   中英

当作为道具传递给功能组件时,反应函数未定义

[英]react function undefined when passed to functional component as a prop

我将主应用程序类中定义的函数传递给接受道具的功能组件。 出于某种原因,我收到函数未定义的错误。 有人可以帮我吗? 我可能不是很明显,但我想不出错误的原因。

//inside APP.js

updateProgress = (val) =>{
    this.setState({progress:val,currentid:val-1}).then(()=>{
      console.log("progress",this.state.progress,"progress",this.state.currentid)
    })
  }

<mycomponent updateProgress={this.updateProgress} mainprops={this.state}/>

// inside functional component script

const cooloptions = props => {
  return (

    props.options.map(o => (
      <div key={o.key}>
        <label htmlFor={o.key}>
            <strong>{o.title}</strong>
            <p>{o.description}</p>
        </label>
        <input id={o.key} name={o.name} onClick={updateProgress(props.mainprops.progress+1)} type="radio" />
      </div>
    ))
  )
}

改变

onClick={updateProgress(props.mainprops.progress+1)}

onClick={()=>props.updateProgress(props.mainprops.progress+1)}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM