[英]How to properly import function in a ReactJS file
我无法在react中导入函数。 我使用export default
导出功能。 但是,导入后,我尝试将其绑定到render函数中,但出现错误,提示TypeError: Cannot read property 'bind' of undefined
。 这是否意味着函数未正确导入? 如何在React中正确导入它?
import onSignUp from '../../functions/onsignup'
class ModalExample extends React.Component {
constructor(props) {
super(props);
}
this.onSignUp=this.onSignUp.bind(this);
}
render(){
return(...)
}
看来您那里还有一个括号,而且,导入的功能将只是onSignUp
而不是this.onSignUp
。
import onSignUp from '../../functions/onsignup'
class ModalExample extends React.Component {
constructor(props) {
super(props);
this.onSignUp = onSignUp.bind(this);
}
render(){
return(...)
}
}
您应该在ctor
绑定该函数,或者在类onSignup
其分配给onSignup
如下所示:
import onSignUp from '../../functions/onsignup'
class ModalExample extends React.Component {
constructor(props) {
super(props);
}
onSignUp = onSignUp.bind(this);
render(){
return(...)
}
}
(我认为)
这是否意味着函数未正确导入?
可能是的。
如何在React中正确导入它?
从'./directorypath';
导入'./directorypath';
//如果使用默认导出
从'./directorypath';
导入{ './directorypath';
} './directorypath';
//如果导出时未使用默认值。
该组件的代码片段将更好地说明问题。
也许你可以把你的声明在构造函数中这样提及onSignUp
你进口,而不是this.onSignUp
不存在:
constructor(props) {
super(props);
this.onSignUp = onSignUp.bind(this);
}
您可以在onSignUp文件中向我们展示该功能吗? 您可能不需要根据其功能来绑定它,但是...
this.onSignp = this.onSignUp.bind(this);
在构造函数中执行此操作将假定您正在初始化一个新函数,而不是要导入的函数,请改用此函数。
this.onSignp = onSignUp.bind(this);
并确保从声明位置正确定义它
如果要从React类外部导入函数,则无需在React类内部绑定该函数。 您只需导入并使用它。 参见下面。
功能/ onsignup.js
函数定义并在此处导出。
const onSignUp = () =>{
// function code here
}
export default signup;
ModalExample.js
在此处导入功能并使用。
import React, {Componenet} from 'react';
import onSignUp from '../../functions/onsignup'
class ModalExample extends React.Component {
constructor(props) {
super(props);
}
render(){
return(
<button onClick={()=>onSignUp()} />
)
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.