#react-native
#react-native
Вопрос:
Я создал этот компонент в соответствии с https://facebook.github.io/react-native/docs/touchablewithoutfeedback чтобы получить класс компонента, который меняет стиль при фокусировке. Я пробовал этот метод, но onFocus не вызывается, когда я нажимаю на компонент. Я работаю с Android amp; expo, хотя думаю, что причина не в этом.
<TouchableWithoutFeedback onFocus={()=>this.setState({shouldFocus: true})}>
<View style={styles.containerStyle}>
<View style={[styles.subContainerStyle, {flex:1}]}>
<Text style={[styles.propertyStyle, {
color: this.state.shouldFocus ? '#50AFAD' : 'black',
fontWeight: this.state.shouldFocus ? 'bold' : null}]}> LEFT </Text>
</View>
<View style={[styles.subContainerStyle, {flex: 2}]}>
<View style={{flexDirection: 'row-reverse'}}>
<TextInput style={styles.textValueStyle} placeholder={"RIGHT"}/>
</View>
</View>
</View>
</TouchableWithoutFeedback>
Комментарии:
1. Когда вы добавляете onPress к TouchableWithoutFeedback, правильно ли оно срабатывает?
2. Лучше, если вы используете
onPressIn
.3. При нажатии работает нормально. Я хочу создать несколько экземпляров этого класса (полей формы) и иметь только один, который меняет свой стиль при фокусировке.