установите RefreshController включить / отключить с помощью onMessage на ReactNative - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь реализовать функцию pull для обновления sh в моем приложении для браузера.

мой код:

const webviewRef = useRef(null)
const scrollviewRef = useRef(false)
...


 <ScrollView
       contentContainerStyle={styles.flexContainer}
       refreshControl={
         <RefreshControl refreshing={false} onRefresh={refreshHandler} ref={scrollviewRef} enabled={false}/>
       }>


    <WebView
      source={{ uri: 'https://youtube.com' }}
      startInLoadingState={true}
      ref={webviewRef}
      onNavigationStateChange={navState => {
        setCanGoBack(navState.canGoBack)
        setCanGoForward(navState.canGoForward)
        setCurrentUrl(navState.url)
      }}

      injectedJavaScript={jscode}
      onMessage={(event)=>{
                    let message  = event.nativeEvent.data;
                    let num = parseInt(message);
                    console.log(message);


                    if(num==0){
                        scrollviewRef.current.enabled=true;

                    }else{
                        scrollviewRef.current.enabled=false;
                    }

                    /* event.nativeEvent.data must be string, i.e. window.postMessage
                    should send only string.
                    * */
                }}
    />
    </ScrollView>

Я пытаюсь включить refreshControl, если num == 0 означает, что полоса прокрутки находится сверху. и отключить его в противном случае.

, но он не работает с scrollviewRef.current.enabled=true; или scrollviewRef.current.enabled=false;

, это мой первый реактивный код, и я стараюсь следовать этому руководству: ссылка и пытается реализовать pulltorefre sh с этого сайта

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...