Сенсорный с диспетчеризацией (push()) внутри ScrollView в реагировать нативный веб

Я пытаюсь сделать простой список кнопок, где пользователь будет переходить на новую страницу при нажатии кнопок.

Я использую React Native Web v0.1.13.

Предположим, у меня есть этот фрагмент кода:

<ScrollView>
    {this.props.orders.map((order) => {
        return(
            <TouchableOpacity
                onPress{() => this.props.dispatch(push(`/order/${order.id}`))}
            >
            //some text here
            </TouchableOpacity>
        )
    })}
</ScrollView>

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

На другой странице я использовал похожий код, но вместо dispatch(push()) я использую window.open:

<ScrollView>
    {this.props.orders.map((order) => {
        return(
            <TouchableOpacity
                onPress{() => {
                    if (window.navigator.userAgent.indexOf('Android') !== -1){
                        window.open("http://www.google.com");
                    }else if (window.navigator.userAgent.indexOf('Apple') !== -1){
                        window.open("http://www.google.com");
                    }else window.open("http://www.google.com");
            }}>
            //some text here
            </TouchableOpacity>
        )
    })}
</ScrollView>

Что меня озадачивает, так это то, что кнопки здесь не чувствительны, как кнопки с диспетчеризацией (push()), кнопка не срабатывает при прокрутке, а срабатывает при нажатии - что работает должным образом!

У кого-нибудь есть идеи, почему это происходит?

Заранее спасибо.

0 ответов

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