Я только начал изучать React Native (из фона Android). Я хочу изменить цвет фона представления. Мне нужно сделать это без использования состояния / реквизита, так как я не хочу отображать его снова.
Я обновил представление и могу получить к нему доступ с помощью другой кнопки onPress ()
Как я могу изменить фон представления?





Установите реф:
ref = {component => this.myref = component}
и установите фон с помощью setNativeProps
this.myref.setNativeProps({
style:{backgroundColor: '#3fba29'}
});
Надеюсь, это кому-то поможет :)
Прежде чем использовать его, попробуйте решить вашу проблему с помощью setState.
https://reactnative.dev/docs/direct-manipulation
В единственном значении это очень просто
ChangeBackground(){
this.setState({
backgroundColor:'blue'
)}
}
render() {
return (
<View onPress = {()=>this.ChangeBackground()}style = {{backgroundColor:'red'}}>
....
</View>
В данных массива вы должны работать со значением индекса. Обновить цвет фона с помощью индекса или идентификатора
что-то вроде этого,
const original = this.state.array;
const single_array = this.state.array.find(
x => x.id === id,
);
single_array.backgroundColor = 'blue';
original[index] = single_array;
this.setState({
array: original,
});