Skip to content

Optional Chaining Breaks Without No Compress Flag #694

Description

@pkrawc

Running microbundle --jsx React.createElement will break on the following component unless --no-compress is passed

import*asReactfrom"react"import{createPortal}from"react-dom"exportdefaultfunctionPortal({ children, type ="avail-portal"}){constportalNode=React.useRef(null)constmountNode=React.useRef(null)const[s,update]=React.useState({})React.useLayoutEffect(()=>{if(typeofwindow==="undefined"||!mountNode.current)returnconstowner=mountNode?.current?.ownerDocumentportalNode.current=owner.createElement(type)owner.body.appendChild(portalNode.current)update({})return()=>{if(portalNode?.current?.ownerDocument){portalNode?.current?.ownerDocument?.body?.removeChild(portalNode.current,)}}},[mountNode])returnportalNode.current ? (createPortal(children,portalNode.current)) : (<asideref={mountNode}/>)}

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions