Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refine getTopic using RTKQ #458

Merged
merged 4 commits into from
Nov 8, 2024
Merged

refine getTopic using RTKQ #458

merged 4 commits into from
Nov 8, 2024

Conversation

dejima-shikou
Copy link
Collaborator

@dejima-shikou dejima-shikou commented Nov 7, 2024

PR の目的

  • getTopicをRTKQ化しました。
    • TopicModalはトピック作成とトピック編集で共通化している。
      従来、トピック編集時はpropsでpresetTopicIdを受け取りスライスからTopicを取得するが、トピック作成の時はこれを受け取らず、presetTopicIdが空かどうかで分岐していた。
      修正後はpresetTopicIdの代わりにフェッチしたTopicデータをpresetTopicとして受け取り、これが空かどうかで分岐する。

@dejima-shikou dejima-shikou marked this pull request as ready for review November 7, 2024 06:33
Copy link
Collaborator

@mshim03 mshim03 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

コメントの確認お願いします

const handleDetailOpen = () => setDetailOpen(!detailOpen);

/* block rendering until data ready */
if (!ateam.ateam_id) return <Box sx={{ m: 2 }}>Loading...</Box>;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ateam.ateam_id が未定義の状況ってありますかね? ( ateamはrequiredなpropsで渡されるので、存在しないパターンがあるのかが怪しい)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

required props でも undefined な可能性はあります(コンソールに警告は出ますが、それだけ)。
ただし、呼び出し側で if (!ateam) return ... してれば問題ない認識です。

どこまで fail safe にするべきかは全体的に揃えたいですね(props に undefined を含めないのは呼び出し側の責務とする、とか、逆に受け側で必ず undefined も想定しておく、とか)。

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

私の案
・基本的に、props に undefined を含めないのは呼び出し側の責務とする
 
・例外的にprops に undefined を含めたい箇所のみ、呼ばれた側でチェックする。
 その他の場合は呼ばれた側でのチェックは不要(呼び出し側でチェックされてることを確認するのが望ましいが)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

指摘の通り、ateamの存在チェックを削除しました。
また、その際気付きましたが、ateamなし時のretrunはBoxを返してるので、他のreturnもBoxを返すようにしました。
表示確認したところ、見栄えがよくなりました。

Copy link
Collaborator

@mshim03 mshim03 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@mshim03 mshim03 merged commit 7c35ca7 into main Nov 8, 2024
5 checks passed
@mshim03 mshim03 deleted the topic/ui-rtkq-apply-get-topic branch November 8, 2024 03:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants