Я пытаюсь реализовать функцию 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 с этого сайта