我在尝试 react 中使用 ts,当我创建 ref 时报错了,请问该怎么解决?谢谢!
Property 'ref' does not exist on type 'ForwardRef'. Did you mean 'refs'?ts(2551)
index.d.ts(507, 9): 'refs' is declared here.
class ForwardRef extends Component {
constructor(props){
super(props);
this.ref = createRef();
}
render(){
return (
<FancyButton ref={this.ref}>Click me!</FancyButton>
);
}
}
在ForwardRef里面增加一个ref字段?你这this.ref,你没有ref这个字段啊。
我该怎么添加 ref 字段呢?在 react js 里是可以这么写的,求教~
@zanetti:
class ForwardRef extends Component {
ref: any;
constructor(props){
super(props);
this.ref = createRef();
}
render(){
return (
<FancyButton ref={this.ref}>Click me!</FancyButton>
);
}
}
实际上命名这个,一般会加前缀
class ForwardRef extends Component {
buttonRef: any;
constructor(props){
super(props);
this.buttonRef = createRef();
}
render(){
return (
<FancyButton ref={this.buttonRef}>Click me!</FancyButton>
);
}
}
@顾晓北: 非常感谢!原来只要定义一下类型就可以了。