mirror of
https://github.com/supabase/supabase.git
synced 2026-10-18 15:49:09 +03:00
Quick starts are missing the step to create an RLS policy, which can be confusing if you choose to create the table from the Table Editor, and subsequently can't select from it.
112 lines
2.7 KiB
Plaintext
112 lines
2.7 KiB
Plaintext
---
|
|
title: 'Use Supabase with SolidJS'
|
|
subtitle: 'Learn how to create a Supabase project, add some sample data to your database, and query the data from a SolidJS app.'
|
|
breadcrumb: 'Framework Quickstarts'
|
|
hideToc: true
|
|
---
|
|
|
|
<StepHikeCompact>
|
|
|
|
<StepHikeCompact.Step step={1}>
|
|
|
|
<QuickstartDbSetup />
|
|
|
|
</StepHikeCompact.Step>
|
|
|
|
<StepHikeCompact.Step step={2}>
|
|
|
|
<StepHikeCompact.Details title="Create a SolidJS app">
|
|
|
|
Create a SolidJS app using the `degit` command.
|
|
|
|
</StepHikeCompact.Details>
|
|
|
|
<StepHikeCompact.Code>
|
|
|
|
```bash Terminal
|
|
npx degit solidjs/templates/js my-app
|
|
```
|
|
|
|
</StepHikeCompact.Code>
|
|
|
|
</StepHikeCompact.Step>
|
|
|
|
<StepHikeCompact.Step step={3}>
|
|
<StepHikeCompact.Details title="Install the Supabase client library">
|
|
|
|
The fastest way to get started is to use the `supabase-js` client library which provides a convenient interface for working with Supabase from a SolidJS app.
|
|
|
|
Navigate to the SolidJS app and install `supabase-js`.
|
|
|
|
</StepHikeCompact.Details>
|
|
|
|
<StepHikeCompact.Code>
|
|
|
|
```bash Terminal
|
|
cd my-app && npm install @supabase/supabase-js
|
|
```
|
|
|
|
</StepHikeCompact.Code>
|
|
|
|
</StepHikeCompact.Step>
|
|
|
|
<StepHikeCompact.Step step={4}>
|
|
<StepHikeCompact.Details title="Query data from the app">
|
|
|
|
In `App.jsx`, create a Supabase client using your project URL and public API (anon) key:
|
|
|
|
<ProjectConfigVariables variable="url" />
|
|
<ProjectConfigVariables variable="anonKey" />
|
|
|
|
Add a `getCountries` function to fetch the data and display the query result to the page.
|
|
|
|
</StepHikeCompact.Details>
|
|
<StepHikeCompact.Code>
|
|
|
|
|
|
```jsx src/App.jsx
|
|
import { createClient } from "@supabase/supabase-js";
|
|
import { createResource, For } from "solid-js";
|
|
|
|
const supabase = createClient('https://<project>.supabase.co', '<your-anon-key>');
|
|
|
|
async function getCountries() {
|
|
const { data } = await supabase.from("countries").select();
|
|
return data;
|
|
}
|
|
|
|
function App() {
|
|
const [countries] = createResource(getCountries);
|
|
|
|
return (
|
|
<ul>
|
|
<For each={countries()}>{(country) => <li>{country.name}</li>}</For>
|
|
</ul>
|
|
);
|
|
}
|
|
|
|
export default App;
|
|
```
|
|
|
|
</StepHikeCompact.Code>
|
|
|
|
</StepHikeCompact.Step>
|
|
|
|
<StepHikeCompact.Step step={5}>
|
|
<StepHikeCompact.Details title="Start the app">
|
|
|
|
Start the app and go to http://localhost:3000 in a browser and you should see the list of countries.
|
|
|
|
</StepHikeCompact.Details>
|
|
|
|
<StepHikeCompact.Code>
|
|
|
|
```bash Terminal
|
|
npm run dev
|
|
```
|
|
|
|
</StepHikeCompact.Code>
|
|
|
|
</StepHikeCompact.Step>
|
|
</StepHikeCompact>
|