NEXT.jsを用いてログイン機能を実装していました。
他フレームワークのように、ログインしているユーザーにはAを見せて、ログインしていないユーザーにはBを見せるようなコードを以下のように、JSXで書くかと思います。
Javascript
1{isLogin ? ( 2 <MySecretComponent/> 3) : ( 4 <div>ログインしてください</div> 5)}
SPAでないフレームワークであれば、ログインしていない場合MySecretComponentはクライアントサイドに読み込まれる事は無いですが、NEXT.jsはSPAであるため、ログインしていない時も表示はされませんがコード自体はダウンロードされてしまうかと思います
隠したい物が単なるデータであればfetchAPIでとるようにしてそこに認証をつければよいとおもいますが、コンポーネント自体を隠したい場合はどのようにすればいいのでしょうか?
(JSXコンポーネントはシンボルを使っているようでJSONに変換することが出来ず例えばres.send(<MySecretComponent/>)のようにAPI経由でコンポーネントを丸ごとという風にもできませんでした・・・・)
SPAページでは機能がハックされることは仕方のない事なのでしょうか?
おそらく私に何かしらの知識が足りていない可能性の方が高いと思っていますが・・・
よろしくお願いいたします。