create-react-app 在`index.html`文件中的更改没有反映出来,

hsvhsicv  于 8个月前  发布在  React
关注(0)|答案(2)|浏览(135)

我已经使用create-react-app创建了一个React应用。

  1. "react": "^17.0.2",
  2. "react-dom": "^17.0.2",
  3. "react-scripts": "4.0.3",

当我尝试在public文件夹中的index.html中添加脚本标签时,当我启动开发服务器时,它没有得到反映。index.html文件被原始给出的HTML覆盖(在devtools中检查),甚至无法更改HTML中的标题,它会恢复为“React App”。我们需要做任何配置更改或类似的事情,以使index.html中的更改得以持久化吗?

qybjjes1

qybjjes11#

你声明你正在尝试添加脚本标签,但然后引用"React App",这是标题标签而不是脚本标签。所以我会继续尝试解决这两个问题。
1:假设你只想更改网站的标题,你可以在index.html的头部进行如下更改:
将 "React App" 改为其他内容***

  1. useEffect(() => {
  2. const script = document.createElement('script');
  3. script.src = "https://use.typekit.net/foobar.js";
  4. script.async = true;
  5. document.body.appendChild(script);
  6. return () => {
  7. document.body.removeChild(script);
  8. }
  9. }, []);

这使得它成为自定义钩子的绝佳候选者(例如:hooks/useScript.js):

  1. import { useEffect } from 'react';
  2. const useScript = url => {
  3. useEffect(() => {
  4. const script = document.createElement('script');
  5. script.src = url;
  6. script.async = true;
  7. document.body.appendChild(script);
  8. return () => {
  9. document.body.removeChild(script);
  10. }
  11. }, [url]);
  12. };
  13. export default useScript;

使用方法如下:

  1. import useScript from 'hooks/useScript';
  2. const MyComponent = props => {
  3. useScript('https://use.typekit.net/foobar.js');
  4. // rest of your component
  5. }

感谢 Alex McMillan https://stackoverflow.com/users/1136527/alex-mcmillan 的解答。

展开查看全部
8tntrjer

8tntrjer2#

这个问题已经被自动标记为过时,因为它没有任何最近的活动。如果没有发生任何进一步的活动,它将在5天后被关闭。

相关问题