Я получил его, используя старый синтаксис, в котором вы передаете ссылку как обычный реквизит.Я думаю, вы должны назвать это как-то иначе, чем ref
:
В Parent:
class Parent extends React.Component {
constructor(props) {
super(props);
this.myRef = React.createRef();
}
componentDidMount() {
console.log(this.myRef);
}
render() {
return (
<div>
<CustomField customRef={this.ref} />
</div>
)
}
В CustomField:
import { Field } from 'redux-form';
import Child from 'components/Child';
const CustomField = props => {
return <Field {...props} component={Child} type="text" />;
};
In Child (не уверен, еслиэто должен быть класс или нет):
class Child Extends React.Component {
render(){
return(
<input ref={customRef} />
)
}
}
Мне кажется, что работать со старым стилем проще.В качестве тангенциальной точки было бы интересно, если бы кто-нибудь мог объяснить ее недостатки, так как я предполагаю, что они есть?