Electron 填坑之旅
关于
的 height、width
需要外面包裹一层:
handleResize(e) { this.setState({ width: window.innerWidth, height: window.innerHeight });}componentDidMount() { window.addEventListener('resize', this.handleResize);}render() { // x、y 为其他框架外元素所占宽高 const styleDiv = { width: this.state.width - x, height: this.state.height - y, }; const styleWeb = { width: '100%', height: '100%', }; const src = "./sub.html"; return ( )
React 与 nodeintegration 属性
render( let src = "./sub.html" ... ... ... ...)
如上,React 自定义属性必须增加 data-、aria- 前缀,否则 React不会渲染的。因此经过 React 渲染后的 DOM,不包含 nodeintegration、allowpopups等这类属性,因此在其中就不能运行 require 等命令。
而 标签的 nodeintegration 属性必须在 DOM 渲染前设置,因此只能通过 render() 渲染完成后直接操作 DOM 整个添加 解决:
componentDidUpdate(props, state) { if(condition){ // 合适的时机 let src = "./sub.html"; let webview = this.refs.webview; webview.innerHTML = ``; }}render(){ return( )}
React 支持的 HTML 标准属性
accept acceptCharset accessKey action allowFullScreen allowTransparency altasync autoComplete autoPlay cellPadding cellSpacing charSet checked classIDclassName cols colSpan content contentEditable contextMenu controls coordscrossOrigin data dateTime defer dir disabled download draggable encType formformAction formEncType formMethod formNoValidate formTarget frameBorder heighthidden href hrefLang htmlFor httpEquiv icon id label lang list loop manifestmarginHeight marginWidth max maxLength media mediaGroup method min multiplemuted name noValidate open pattern placeholder poster preload radioGroupreadOnly rel required role rows rowSpan sandbox scope scrolling seamlessselected shape size sizes span spellCheck src srcDoc srcSet start step styletabIndex target title type useMap value width wmode
包括:src、preload 。
参考:
React 组件的详细说明和生命周期
React 标签和属性支持
标签
关键字:electron
版权声明
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!