【发布时间】:2018-02-26 00:59:17
【问题描述】:
我想关注下一个字段,但我的代码无法做到这一点。我使用了渲染组件的函数。但是不能这样做。
export const Input = ({
imageLeft,
imageRight,
containerStyle,
inputStyle,
...props,
focus,
}) => (
<View
style={StyleSheet.flatten([styles.containerStyle, containerStyle])}
>
{ imageLeft && <Image
style={leftImageColor(focus)}
source={placeholderImageAssets[imageLeft]}
/> }
<TextInput
ref={props.refField}
autoCorrect={false}
underlineColorAndroid='transparent'
autoCapitalize='sentences'
keyboardType='default'
placeholderTextColor={placeHolderColor(focus)}
{...props}
style={StyleSheet.flatten([styles.inputStyle, inputStyle])}
/>
{ imageRight && <Image
style={styles.imageRight}
source={checkMarkImageAssets[imageRight]}
/> }
</View>
)
我将这个方法渲染成组件
<Field
ref={(componentRef) => this.field2 = componentRef}
refField="field2"
name='lastName'
placeholder='Last Name'
component={Input}
validate={[required()]}
placeholderTextColor='#fff'
containerStyle={styles.textInputContainerStyle}
inputStyle={styles.textInputStyle}
/>
并显示错误
无状态函数组件不能有引用。
【问题讨论】: