首页  >  问答  >  正文

如何在每次加载 React 时加载随机图标

有没有办法在 React 中每次重新加载页面时随机加载一个新的图标?我想要一个图标列表,并在每次加载页面时随机选择一个图标。

manifest.json 中,图标加载如下所示:

"icons": [
    {
      "src": "favicon.ico",
      "sizes": "64x64 32x32 24x24 16x16",
      "type": "image/x-icon"
    },
    {
      "src": "logo192.png",
      "type": "image/png",
      "sizes": "192x192"
    },
    {
      "src": "logo512.png",
      "type": "image/png",
      "sizes": "512x512"
    }
  ],

是否有任何合理的方法可以从一组图标中随机选择一个图标?

P粉237647645P粉237647645428 天前714

全部回复(1)我来回复

  • P粉722521204

    P粉7225212042023-09-10 11:35:32

    您可以创建一个图标数组,并使用 JavaScript 的 Math.random() 函数从数组中随机选择一个图标。参考这里:

    import React, { useEffect } from 'react';
    
    const icons = [
      'favicon1.ico',
      'favicon2.ico',
      'favicon3.ico',
      // add more icons here
    ];
    
    function App() {
      useEffect(() => {
        const randomIcon = icons[Math.floor(Math.random() * icons.length)];
        const link = document.querySelector("link[rel~='icon']");
        link.href = randomIcon;
      }, []);
    
      return (
        <div>
          {/* your app content */}
        </div>
      );
    }
    
    export default App;

    在上面的示例中,useEffect钩子是在组件安装时运行一些代码。我们使用 Math.random() 从图标数组中选择一个随机图标,并通过更改标签的 href 属性来更新图标。

    回复
    0
  • 取消回复