質問編集履歴

1

環境を追記

2021/08/13 01:07

投稿

askyq
askyq

スコア46

test CHANGED
File without changes
test CHANGED
@@ -48,12 +48,32 @@
48
48
 
49
49
  しかしいずれも`Header`内から直接データベースにアクセスするものではなく、処理は`Header`で完結しません。
50
50
 
51
- REST APIを作るのはサーバーのセキュリティ低下に繋がる可能性もありますし、HTTPリクエスト回数が増えることにも繋がります。
51
+ REST APIを作るのはサーバーのセキュリティ低下に繋がる可能性もありますし、HTTPリクエスト回数が増えることにも繋がります。また、SSRの恩恵を受けることができません。
52
52
 
53
53
  `index.tsx`の中に記述する方法は、`Header`の呼び出し側が`Header`のロジックに依存することに繋がりかねず、また同様の処理を`index.tsx`以外のページにもコピペしなければいけません。カプセル化ができているとは言えず、気持ち悪いです。
54
+
55
+
56
+
57
+ 現時点では後者の方法を検討しています。`Header`に必要なデータを新しい`interface`に切り出し、その`interface`の中身を埋めるメソッドを新たに作成し、それを`index.tsx`の`getServerSideProps`から呼び出す方向で考えています。
54
58
 
55
59
 
56
60
 
57
61
  上記の方法を試す前に一度確認したいのですが、`Header`からサーバーサイドの処理を直接呼び出すことは可能ですか?
58
62
 
59
63
  また、何か別の効率的な方法がありますか?
64
+
65
+
66
+
67
+ ## 環境
68
+
69
+
70
+
71
+ macOS Catalina
72
+
73
+ Node.js 12
74
+
75
+ Next.js 11.0.1
76
+
77
+ React 17.0.2
78
+
79
+ TypeScript