iT邦幫忙

2024 iThome 鐵人賽

0
生成式 AI

輕鬆搞笑與陪伴系列 第 6

Day06 - 持續優化

  • 分享至 

  • xImage
  •  

NavBar(導覽列)


馬的,我都打了一大堆字,然後按到別的網頁,沒存到草稿,現在要重新打,氣死!
進入正題,一直知道React的好處就是可以使用錯覺來提高效能,網站操作起來很豐富,但其實在一開始進入這個網站的時候有些東西就已經載入好了,所以我這次把我原本首頁兩顆醜醜的按鈕移動到NavBar。
我目前的NavBar長這樣
Navbar
這樣做有幾個好處

  • 使用者在一開始進入我的網站就已經載好,可以提高效能。
  • 我可以把我比較想讓使用者看到的資訊放在這邊。
  • 增加網站的可讀性(應該吧XD)
  • 網站看起來比炫炮,跟其他很潮的網站比較像。

NavBar.jsx的程式碼長這樣

import React from 'react';
import { Link } from 'react-router-dom';

function NavBar() {
  return (
    <nav className="bg-gray-800 p-4">
      <div className="container mx-auto flex justify-between items-center">
        <Link to="/" className="text-2xl text-white">Stupid Cat</Link>
        <div className="flex space-x-4">
          <Link to="/joke" className="text-white hover:text-gray-400">View Random Joke</Link>
          <Link to="/meme" className="text-white hover:text-gray-400">View Random Meme</Link>
        </div>
      </div>
    </nav>
  );
}

export default NavBar;

NavBar.jsx在Vscode的畫面長這樣
NavBar.jsx
在網站的入口點(App.jsx)就已經載好了,帥,Vscode畫面長這樣
App.jsx

優化meme


  1. 我發現在meme載入的時候有點慢,所以一開始先不要抓圖片,顯示一些文字就好。
    更新完的meme畫面長這樣
    meme圖
  2. 我按鈕的邏輯有點問題,之前一直點Get Another Meme,會發現到最後不能點,就連Previous Meme也不能點,所以改了一些東西-
  • 新增:
    (1)Next Meme按鈕,這樣使用者可以在產生的梗圖選擇前、後。
    (2)顯示目前共有幾個梗圖的div(區塊)
    (3)可以選擇到第幾個的input標籤。
  • 修改Get Another Meme的邏輯:
    (1)不要出現之前出現過的
    (2)在梗圖倉庫開出來API的最多值之後,跳出一個提醒。

目前input那邊的程式碼長這樣,持續優化中

        <div className="text-gray-700">
          目前是第 
          <input
            type="number"
            min="1"
            max={displayedMemes.length}
            value={currentMemeIndex + 1}
            onChange={(e) => jumpToMeme(Number(e.target.value) - 1)}
            className="mx-2 p-2 border rounded-md w-16 text-center"
          /> 
          個梗圖,共 {displayedMemes.length} 個梗圖
        </div>

我覺得比較有趣的是跳提醒那邊的邏輯,長下面這樣

  const getAnotherMeme = () => {
    if (memes.length === 0) return;

    if (displayedMemes.length >= memes.length) {
      alert('已經抓完目前的梗圖');
      return;
    }

今日感想


我邏輯都叫LLM幫我寫,所以我很多也都看不懂,有點挫折,但我還是回歸到我的主題,重點是好笑!

管它個543
Do before you think!
            [孔子沒有說]

重點是保持著信念和堅持,寫著寫著養成學習的習慣,或許哪天就懂了;
沒懂也沒關係...至少...我搞笑過了...
我等等要打荒野了,明天見
(PS:現在出一大堆超強的新角,氣死,要開始重練)


上一篇
Day05 - 修改網頁
下一篇
Day07 - 閒聊
系列文
輕鬆搞笑與陪伴18
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言