fix(Script): allow passing defer=false to Script component (#34850)

## Bug

```jsx
<Script
  async
  defer={false}
  strategy='beforeInteractive'
  src='https://securepubads.g.doubleclick.net/tag/js/gpt.js'
/>
```

output:

```html
<script src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" async="" defer="" data-nscript="beforeInteractive"></script>
```

The `defer` prop is overridden by `!disableOptimizedLoading`, so can't disable it on the particular script.
This commit is contained in:
C. T. Lin 2022-03-12 00:53:09 +08:00 committed by GitHub
parent 91455653fe
commit bc0816f936
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -81,7 +81,7 @@ function getPreNextScripts(context: HtmlProps, props: OriginProps) {
<script
{...scriptProps}
key={scriptProps.src || index}
defer={!disableOptimizedLoading}
defer={scriptProps.defer ?? !disableOptimizedLoading}
nonce={props.nonce}
data-nscript="beforeInteractive"
crossOrigin={props.crossOrigin || crossOrigin}