【发布时间】:2016-07-06 12:18:16
【问题描述】:
我基于来自 redux-form-material-ui 存储库的 official example。我的代码如下所示:
import React from 'react';
import { Field } from 'redux-form';
import { TextField } from 'redux-form-material-ui';
export default class FormTextField extends React.Component {
constructor(props) {
super(props);
}
componentWillUpdate(nextProps) {
const { name, withRef, focus } = nextProps;
if (withRef && focus) {
this.refs[name]
.getRenderedComponent()
.getRenderedComponent()
.focus();
}
}
render() {
const { name, label, errorText, withRef } = this.props;
return (
<Field
name={name}
component={TextField}
hintText={label}
floatingLabelText={label}
errorText={errorText}
ref={name}
withRef={withRef}
/>
);
}
}
我仅将 focus 和 withRef 属性传递给有错误的第一个字段。在这个领域我总是得到一个错误:Uncaught (in promise) Error: If you want to access getRenderedComponent(), you must specify a withRef prop to Field(…)
我能够看到ref 和withRef 都传递给Field。然后在带有ref="wrappedInstance" 的组件中我仍然可以看到withRef="true"。它没有被更深地传递。
如果有任何解决方法的想法,我将不胜感激。
【问题讨论】:
标签: reactjs redux material-ui redux-form