Snackbar

Snackbar.Provider と useSnackbar によるトースト通知。Viewport 内に Root を描画してメッセージを表示します。

参考: Material Design 3 公式ガイドライン m3.material.io/components/snackbar/overview

Import

import { Snackbar, useSnackbar, Button, ThemeProvider } from '@m3-baseui/react-tailwind';

使用例

function App() {
return (
<ThemeProvider seed="#6750A4">
<Snackbar.Provider>
<SnackbarDemo />
</Snackbar.Provider>
</ThemeProvider>
);
}
function SnackbarList() {
const { toasts } = useSnackbar();
return (
<>
{toasts.map((toast) => (
<Snackbar.Root key={toast.id} toast={toast}>
<Snackbar.Content>
<Snackbar.Title />
</Snackbar.Content>
</Snackbar.Root>
))}
</>
);
}
function SnackbarDemo() {
const { add } = useSnackbar();
return (
<>
<Button onClick={() => add({ title: '保存しました' })}>表示</Button>
<Snackbar.Viewport>
<SnackbarList />
</Snackbar.Viewport>
</>
);
}

Props

Prop既定値説明
add(options) => voiduseSnackbar フックから取得

補足

Snackbar.Provider は ThemeProvider の内側に配置してください。