我正在尝试使用打字稿生成webview的实例。
我正在使用电子伪造的react-typescript模板。
我尝试了以下操作:
import {Component} from 'react';
import * as React from 'react';
import {WebviewTag} from 'electron';
class MediaWebView extends Component<{ url: string }, {}> {
renderWebVierw() {
const myWebView: WebviewTag /* error here */ =
(<webview src={this.props.url}
autosize='on'
nodeintegration='on'
disablewebsecurity='on'
webpreferences='allowRunningInsecureContent'
style={webViewStyle}
/>);
return myWebView;
}
这将呈现Web视图,但会引发以下错误:TS2322: Type 'Element' is not assignable to type 'WebviewTag'. Property 'addEventListener' is missing in type 'Element'
。
我无法订阅事件或将代码注入Web视图。
我不知道应该分配什么类型,但是我似乎找不到它。
实现网络视图并
答案 0 :(得分:0)
ldd $(which "$(git --exec-path)"/git-http-push)
有同样的问题。问题是因为没有const webview: WebViewTag = (<webview />) as WebViewTag;
,编译器不知道您正在执行的操作是返回WebViewTag对象,并且等式的左手边也不在乎,因为WebViewTag继承自HtmlElement。在这种情况下,as
会将对象强制转换为您尝试将其强制转换为的任何类型,如果类型匹配,它将返回对象,如果不匹配,则将仅返回null。