Как сделать раскрывающийся блок в react native?

Пользователь

от rachel , в категории: JavaScript , 8 месяцев назад

Как сделать раскрывающийся блок в react native?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от jensen , 8 месяцев назад

@rachel 

Чтобы сделать раскрывающийся блок в React Native, вы можете использовать анимацию и компоненты View и Text. Следующий код приведет вас в нужном направлении:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import React, { useState } from 'react';
import { View, Text, StyleSheet, TouchableOpacity } from 'react-native';

const CollapsibleBlock = () => {
  const [expanded, setExpanded] = useState(false);

  return (
    <View style={styles.container}>
      <TouchableOpacity
        onPress={() => setExpanded(!expanded)}
        style={styles.header}
      >
        <Text style={styles.headerText}>Нажмите здесь, чтобы раскрыть</Text>
      </TouchableOpacity>
      {expanded && (
        <View style={styles.body}>
          <Text style={styles.bodyText}>
            Это содержимое раскрывающегося блока
          </Text>
        </View>
      )}
    </View>
  );
};

const styles = StyleSheet.create({
  container: {
    backgroundColor: '#fff',
    margin: 10,
    overflow: 'hidden',
  },
  header: {
    padding: 10,
  },
  headerText: {
    fontWeight: 'bold',
  },
  body: {
    padding: 10,
    backgroundColor: '#eee',
  },
  bodyText: {
    fontSize: 16,
  },
});

export default CollapsibleBlock;


Этот код создает раскрывающийся блок, который может быть раскрыт или скрыт при нажатии на заголовок. Когда раскрыт, он показывает содержимое внутри компонента View.