Стиль React Native Change по состоянию

Это не работает, если this.state.item1 истинно.

 onfocus: {
    backgroundColor: 'black',
    width: 800,
  },
 this.state = {     
      item1: true,   
  }; 
      <Image key = {"item1"} style = {this.state.item1 && styles.onfocus} source = {{ uri: 'https://github.com/c-bata/react-native-focus-scroll/blob/master/example/assets/rokko-yamatanoorochi-ipa.jpg?raw=true' }} />

Вы можете опубликовать весь код?

Dor Weid 08.06.2018 11:03
Умерло ли Create-React-App?
Умерло ли Create-React-App?
В этом документальном фильме React.dev мы исследуем, мертв ли Create React App (CRA) и какое будущее ждет этот популярный фреймворк React.
Освоение React Native: Пошаговое руководство для начинающих
Освоение React Native: Пошаговое руководство для начинающих
React Native - это популярный фреймворк с открытым исходным кодом, используемый для разработки мобильных приложений. Он был разработан компанией...
В чем разница между react native и react ?
В чем разница между react native и react ?
React и React Native - два популярных фреймворка для создания пользовательских интерфейсов, но они предназначены для разных платформ. React - это...
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
Если вы уже умеете работать с React, создание мобильных приложений для iOS и Android - это новое приключение, в котором вы сможете применить свои...
Хуки React: что это такое и как их использовать
Хуки React: что это такое и как их использовать
Хуки React - это мощная функция библиотеки React, которая позволяет разработчикам использовать состояние и другие возможности React без написания...
0
1
46
4

Ответы 4

Похоже, вы ссылаетесь на item1 как на ключ, если вы пытаетесь использовать элемент состояния, который вам нужен, чтобы использовать this.state.item1.

<Image key = {"this.state.item1"} style = {this.state.item1 && styles.onfocus} source = {{ uri: 
'https://github.com/c-bata/react-native-focus- 
scroll/blob/master/example/assets/rokko-yamatanoorochi-ipa.jpg?raw=true' }} />

Однако ключ не должен быть логическим значением, он должен быть уникальным идентификатором.

Используйте это, это должно работать

<Image key = {"item1"} style = {this.state.item1 === 'your_condition' ? styles.onfocus : style.another_styles} source = {{ uri: 'https://github.com/c-bata/react-native-focus-scroll/blob/master/example/assets/rokko-yamatanoorochi-ipa.jpg?raw=true' }} />

Используйте тернарные операторы для отображения стилей по условиям:

"(условие)? удовлетворительное_условие: неудовлетворительное_условие"

<Image key = {"item1"} style = {(this.state.item1==true) ? styles1 : style2} source = {{ uri: 'https://github.com/c-bata/react-native-focus-scroll/blob/master/example/assets/rokko-yamatanoorochi-ipa.jpg?raw=true' }} />

Ты можешь сделать это.

<Image key = {"item1"} 
    style = {this.state.item1 ? styles.onfocus : {}} 
    source = {{ uri: 'https://github.com/c-bata/react-native-focus-scroll/blob/master/example/assets/rokko-yamatanoorochi-ipa.jpg?raw=true' }} 
/>

Другие вопросы по теме