作为道具传递给功能组件时未定义的反应功能
react function undefined when passed to functional component as a prop
我正在将我的主应用 class 中定义的函数传递给接受道具的功能组件。出于某种原因,我收到函数未定义的错误。有人可以帮我吗?我可能不是很明显,但我想不出错误的原因。
//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)}
我正在将我的主应用 class 中定义的函数传递给接受道具的功能组件。出于某种原因,我收到函数未定义的错误。有人可以帮我吗?我可能不是很明显,但我想不出错误的原因。
//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)}