Remixでなんか作りたい人の独り言
Cookieをあんまり触れたことが無いのも相まって、CookieとSessionって何が違うんだ?となってるので、ここからどうにかする必要があるかも
Cloudflare WorkersのModule Syntax?だと環境変数に直接アクセスできない。
Remixの場合、server.ts
にcreatePagesFunctionHandler
でゴニョニョやって、
loader
関数でcontext
から環境変数をとることができるけど、loader
関数が使えない場面ではどうするのが正解なんだ?
公式ドキュメントを読む限りは、
export default {
async fetch() {
...
}
}
って感じだけど、fetch
ってそんな使い方あるんか...って初めて知った
ちなみにDenoには環境変数をproccessみたいに呼び出せる代物があると聞いて気になってる
Remix でこんなエラーが...
Objects are not valid as a React child (found: [ob…r a collection of children, use an array instead.
って思ったんだけど、loader
関数にdefault
つけていたのが悪かったらしい
チックショー!
React系のフレームワークはReact Childが返される奴しかdefault
つけちゃダメなのかな?
分からん
remix-validated-form
というバリデーションできるライブラリがあるらしい。
使ってみたところ、なぜかaction
関数にフォームデータが渡されなかったので、Remix側のデフォルトの<Form>
を使ってみた。
ただ、Formはinput, textareaだったりからしかデータをとってくれないので、
独自実装のフィールドはどないaction
関数に渡すよう実装しよか...って感じ
Remixのコンポーネントではloader
関数を使うことができなかった(よくよく考えたら当たり前かも)ので、
root.tsx
のloader
関数からコンポーネントにProps
を渡すことによって解決
子コンポーネント側では
type HeaderProps = {
show: boolean
}
export default function Header(props: HeaderProps) {
return (<></>)
}
親要素では普通に
<Header show={true} />
って感じ
Propsの型指定は適当なので、いつか変更
以下学習のためのブックマーク