Как скрыть и показать панель навигации в React Native?

Я передаю реквизиты, и когда прокручивается определенная высота, я передаю параметры showHeader: "True", поэтому при прокрутке заголовок непрозрачен и изначально прозрачен. Итак, после того, как пользователь прокрутит вверх, я хочу, чтобы заголовок снова был прозрачным, но он не прозрачен, как я могу это исправить?

Код:

Компонент Inisde ProjectDetailsScreen:

handleScroll = (event) => {
        if (event.nativeEvent.contentOffset.y > 100) {
            console.info("Height is this ", event.nativeEvent.contentOffset.y);
            this.props.navigation.setParams({ showHeader: "True"})
        }
    }

<ScrollView style = {styles.container} 
                onScroll = {this.handleScroll}
</ScrollView>

Внутри navigation.js:

ProjectDetails: {
        screen: ProjectDetailsScreen,
        navigationOptions: ({ navigation }) => ({

            headerTransparent: navigation.state.params.showHeader === "True" ? false : true ,

            headerTitle: navigation.state.params.myTitle,
        }),
      }

Итак, изначально заголовок прозрачен, поэтому после прокрутки вниз заголовок непрозрачен, но снова, если я прокручиваю обратно в исходное положение, я хочу, чтобы заголовок был прозрачным, как я могу это сделать?

Вместо того, чтобы преобразовывать «Истина» в истину, почему вы не устанавливаете состояние с правдой?

Vishal Gupta 27.01.2019 16:11
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
1
1 301
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Установите его на ложь

handleScroll = (event) => {
    if (event.nativeEvent.contentOffset.y > 100) {
        console.info("Height is this ", event.nativeEvent.contentOffset.y);
        this.props.navigation.setParams({ showHeader: "True"})
    }
    else {
        this.props.navigation.setParams({ showHeader: "False"})
    }
}

@Italy Gal Для плавного перехода могу ли я в этом случае использовать подавление дребезга или дросселирование?

fun joker 27.01.2019 17:03

Вы использовали переход CSS? Вы можете добавить transition: all 1s ease; в свой заголовок, и при изменении прозрачности, например, переход будет плавным.

Itay Gal 28.01.2019 06:23

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