Next.js 12/13:next/script是否支持动态更新内联脚本?
Next.js
next/script 动态内联脚本更新问题 next/script 支持内联脚本。我尝试在第三方脚本中根据页面状态变化更新部分内容,代码示例如下:
// ... 组件其余代码 const [thisVariable, setThisVariable] = useState('default value'); // ... 返回区块 <Script {...props} /> {`some 3rd party script tag where ${thisVariable} needs to change with component state`} </Script>
但这种方式无效,生成的<script>标签只会渲染初始的默认值。
请问这种动态更新内联脚本的需求在Next.js中是否可行或官方支持?我想到一种变通方案:用useEffect定位已知id的生成脚本,通过正则修改文本内容,但这个方法不够优雅,而且设计过度。
另外还有一个思路:该第三方未提供API,当前内联脚本生成的URL会作为另一个script标签的src,或许我可以直接定位这个标签来动态创建URL。
感谢!
编辑:
我研究了next/script的源代码,发现该组件仅会在某个useEffect中添加一次<script>标签。
问题已明确:Script组件不支持动态更新内联脚本。
内容的提问来源于stack exchange,提问作者Michael Nguyen
相关产品推荐
相关产品推荐

