如何通过按下 expo 中的按钮来加载 webview 内容?我必须使用导航吗?

Posted

技术标签:

【中文标题】如何通过按下 expo 中的按钮来加载 webview 内容?我必须使用导航吗?【英文标题】:How can I load webview content by pressing a button in expo?do I have to use navigation? 【发布时间】:2021-09-07 18:47:48 【问题描述】:

如何通过在 expo 中按下按钮来加载 webview 内容?我必须使用导航吗?

import * as React from 'react';
import  WebView  from 'react-native-webview';
import View from 'react-native'
export default function App()
    return (
      <View>
      <Button title='CLICK' onPress=()=> <WebView source=uri:'https://www.google.com'/>>
      </View>
    )

【问题讨论】:

【参考方案1】:

您应该使用一个称为“状态”的概念。它们在 React 的官方文档中有很好的解释。基本上你必须声明一个可变变量,然后用按钮改变它。当检测到状态变化时,React 会重新渲染相应的组件。并且当它被重新渲染时,该特定变量的新值被读取并发生相应的变化。这是一个满足您期望目的的代码 sn-p:

import * as React from "react";
import  WebView  from "react-native-webview";
import  View, Button  from "react-native";

export default function App() 
    const [isVisible, setIsVisible] = React.useState(false);

    return (
        <View
            style= flex: 1, justifyContent: "center", alignItems: "center" 
    >
        // on press, whatever the older value of isVisible was, set it to its opposite, eg. toggle it 
        <Button
            title="click"
            onPress=() => setIsVisible((prev) => !prev)
            color="blue"
        />
        // if isVisible is true, render the WebView
        isVisible && (
            // you probably will want to change WebView's styles
            <WebView
                style= width: 300, height: 250 
                source= uri: "https://www.google.com" 
            />
        )
    </View>
);

【讨论】:

以上是关于如何通过按下 expo 中的按钮来加载 webview 内容?我必须使用导航吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过按下连接到 piface 数字 2 上的终端的按钮来打印“Python 中的 Hello world”

如何通过按下 Pyqt5 或 PyQt4 工具栏中的按钮来设置表单的显示

如何通过选择一行并按下删除按钮来删除 MovieClip?

JAVA:如何通过此命令来监听按钮按下?

如何通过按下 Java Swing 按钮来停止线程?

在 reactJS 中,如何通过按下按钮来调用链接点击?