跳到主要內容

入門指南

本指南提供逐步教學,引導您安裝 @blocklet/ui-react 函式庫並渲染您的第一個元件。目標是在最短的時間內,讓您的應用程式中能正常運作 HeaderFooter

先決條件

在繼續之前,請確保您的開發環境中已安裝以下項目:

  • 一個可運作的 React 專案。
  • Node.js 和一個套件管理器(npm 或 yarn)。

安裝

首先,使用您偏好的套件管理器將 @blocklet/ui-react 套件新增至您的專案中。

使用 npm:

npm

bash
npm install @blocklet/ui-react

使用 yarn:

yarn

bash
yarn add @blocklet/ui-react

HeaderFooter 元件的設計旨在簡化使用,無需任何初始設定即可渲染。它們會自動從 blocklet 的元資料中獲取資料。

  1. HeaderFooter 元件匯入到您的主應用程式檔案中(例如 App.js)。
  2. 將它們分別放置在應用程式佈局的頂部和底部。

App.js

jsx
import React from 'react';
import Header from '@blocklet/ui-react/lib/Header';
import Footer from '@blocklet/ui-react/lib/Footer';

function App() {
  return (
    <div>
      <Header />
      <main style={{ padding: '20px', minHeight: 'calc(100vh - 128px)' }}>
        {/* 您的應用程式內容放在這裡 */}
        <h1>Welcome to My Blocklet</h1>
      </main>
      <Footer />
    </div>
  );
}

export default App;

這些元件會自動從 window.blocklet 元資料物件中檢索設定詳情,例如應用程式名稱、標誌和導覽連結。該物件由 Blocklet Server 環境注入。

此外,Header 元件會智慧地渲染額外的控制項:

  • 如果 SessionContext 可用,將會顯示使用者會話管理器
  • 如果 LocaleContext 可用,將會顯示語言選擇器

手動設定

在開發、測試或需要覆寫預設元資料的情況下,您可以使用 blockletMeta 屬性將設定物件直接傳遞給元件。

App.js

jsx
import React from 'react';
import Header from '@blocklet/ui-react/lib/Header';

const customBlockletMeta = {
  appName: 'My Custom App',
  appLogo: 'https://path.to/your/logo.png',
  navigation: [
    {
      title: 'Home',
      link: '/',
    },
    {
      title: 'Documentation',
      link: '/docs',
    },
  ],
};

function App() {
  return (
    <div>
      <Header blockletMeta={customBlockletMeta} />
      {/* ... rest of your app */}
    </div>
  );
}

這種方法讓您能透過覆寫全域 window.blocklet 物件提供的任何資料,來精確控制元件的外觀和行為。

自訂 Header

Header 元件在右側包含一個 addons 區域,您可以自訂該區域以包含您自己的元件,例如操作按鈕或自訂連結。

addons 屬性接受一個函式,該函式接收預設的附加元件作為參數。這讓您可以將新元件加到現有元件的前面、後面,或是完全取代它們。

CustomHeader.js

jsx
import React from 'react';
import Header from '@blocklet/ui-react/lib/Header';
import Button from '@mui/material/Button'; // 使用 Material-UI 的範例

function CustomHeader() {
  return (
    <Header
      addons={existingAddons => {
        return [
          <Button
            key="custom-action"
            variant="contained"
            color="primary"
            size="small"
            style={{ marginRight: 8 }}>
            Custom Action
          </Button>,
          ...existingAddons, // 重要:保留預設的 session/locale 附加元件
        ];
      }}
    />
  );
}

在此範例中,一個自訂按鈕被加到現有的附加元件前面。透過包含 ...existingAddons,您可以確保預設的會話和地區設定控制項仍然可見。

總結

您已成功安裝 @blocklet/ui-react 函式庫,渲染了預設的 HeaderFooter 元件,並學會了如何提供自訂設定和附加元件。

掌握了這些基礎知識後,您現在可以開始探索此函式庫中提供的所有元件了。關於佈局、使用者管理和工具程式元件的詳細文件,請前往 元件 部分。