React 'props' 未定义
Posted
技术标签:
【中文标题】React \'props\' 未定义【英文标题】:React 'props' is not definedReact 'props' 未定义 【发布时间】:2020-10-16 05:25:12 【问题描述】:有人能告诉我为什么没有定义 props 吗?在这段代码中,我需要通过这种方式调用另一个组件,
看看
我是 react 新手,谁能帮帮我?
反应代码如下:
class ViewNotas extends Component
constructor(props)
super(props);
this.state =
open: [],
newContact: false,
edit: [],
loading: false,
;
this.handleOpen = this.handleOpen.bind(this);
this.setNewContact = this.setNewContact.bind(this);
setNewContact(set)
this.setState(
newContact: set,
);
handleOpen(id, isOpen)
if (!isOpen)
this.setState( open: this.state.open.concat(id) );
else
this.setState(
open: this.state.open.filter((objectId) => id !== objectId),
);
render()
let data = this.props.data;
return (
<Modal open=this.props.open visible=this.props.visible>
<SC.Container>
<SC.Header>
<SC.Title>Notas</SC.Title>
<SC.ButtonPlus onClick=() => props.setNewContact(true)>
<GoPlus size="24px" color="#FFF" />
</SC.ButtonPlus>
【问题讨论】:
【参考方案1】:这一行
<SC.ButtonPlus onClick=() => props.setNewContact(true)>
应该是
<SC.ButtonPlus onClick=() => this.setNewContact(true)>
【讨论】:
【参考方案2】:问题在于你正在访问 props 上的方法
/* change this */
<SC.ButtonPlus onClick=() => this.setNewContact(true)>
<GoPlus size="24px" color="#FFF" />
</SC.ButtonPlus>
希望这会有所帮助!
【讨论】:
setNewContact
不是作为道具传递的,而是类上的一个方法,所以它只需要是this. setNewContact(true)
。以上是关于React 'props' 未定义的主要内容,如果未能解决你的问题,请参考以下文章
React-router TypeError:_this.props.history 未定义
React Router this.props.location始终未定义
this.props 在 React 组件中的箭头函数中显示为未定义