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

bookmark-button.vueをreact対応にする #5114

Closed
komagata opened this issue Jun 29, 2022 · 15 comments
Closed

bookmark-button.vueをreact対応にする #5114

komagata opened this issue Jun 29, 2022 · 15 comments
Assignees

Comments

@komagata
Copy link
Member

komagata commented Jun 29, 2022

下記を参考にしてreactに変える。

@github-actions
Copy link

このissue|PRは60日間更新がないため7日後にcloseします。closeしたくない場合はstaleラベルを外してください。

@github-actions github-actions bot added the stale label Aug 29, 2022
@komagata komagata removed the stale label Aug 29, 2022
@komagata komagata changed the title book-select.vueとbookmark-button.vueをVueMounter対応にする book-select.vueとbookmark-button.vueをreact対応にする Sep 17, 2022
@github-actions
Copy link

このissue|PRは60日間更新がないため7日後にcloseします。closeしたくない場合はstaleラベルを外してください。

@github-actions github-actions bot added the stale label Nov 17, 2022
@komagata komagata removed the stale label Nov 18, 2022
@github-actions
Copy link

このissue|PRは60日間更新がないため7日後にcloseします。closeしたくない場合はstaleラベルを外してください。

@github-actions github-actions bot added the stale label Jan 18, 2023
@komagata komagata removed the stale label Jan 23, 2023
@github-actions
Copy link

このissue|PRは60日間更新がないため7日後にcloseします。closeしたくない場合はstaleラベルを外してください。

@github-actions github-actions bot added the stale label Mar 25, 2023
@komagata komagata removed the stale label Mar 28, 2023
@github-actions
Copy link

このissue|PRは60日間更新がないため7日後にcloseします。closeしたくない場合はstaleラベルを外してください。

@github-actions github-actions bot added the stale label May 30, 2023
@komagata komagata removed the stale label Jun 1, 2023
@github-actions
Copy link

github-actions bot commented Aug 1, 2023

このissue|PRは60日間更新がないため7日後にcloseします。closeしたくない場合はstaleラベルを外してください。

@github-actions github-actions bot added the stale label Aug 1, 2023
@komagata komagata removed the stale label Aug 1, 2023
@github-actions
Copy link

github-actions bot commented Oct 2, 2023

このissue|PRは60日間更新がないため7日後にcloseします。closeしたくない場合はstaleラベルを外してください。

@github-actions github-actions bot added the stale label Oct 2, 2023
@komagata komagata removed the stale label Oct 3, 2023
Copy link

github-actions bot commented Dec 3, 2023

このissue|PRは60日間更新がないため7日後にcloseします。closeしたくない場合はstaleラベルを外してください。

@github-actions github-actions bot added the stale label Dec 3, 2023
@komagata komagata removed the stale label Dec 5, 2023
Copy link

github-actions bot commented Feb 4, 2024

このissue|PRは60日間更新がないため7日後にcloseします。closeしたくない場合はstaleラベルを外してください。

@github-actions github-actions bot added the stale label Feb 4, 2024
@machida machida removed the stale label Feb 4, 2024
@kyokucho1989 kyokucho1989 self-assigned this Feb 15, 2024
@kyokucho1989
Copy link
Contributor

@komagata
こんにちは。Issueの進め方について質問があります。

質問1 :book-select.vue のReact化について

book-select.vue ですが、すでにvueファイルはなく、以下のIssueでJSに置き換えられていました。
#4934

vueではなくなっているので、こちらはなにも変更を加えなくて構いませんか?

質問2: bookmark-button.vue の変更範囲について

bookmark-button.vue を参照しているファイルを確認すると、以下のファイルがありました。
app/javascript/components/question-edit.vue

ただ、これは以下のIssueで現在 @junohm410 さんが取り組んでいるものと変更範囲が被るかもしれません。
#7356

こちらはどこまで変更を行えば良いでしょうか。

@junohm410
Copy link
Contributor

@kyokucho1989 お疲れ様です。
ここ2日ほど用事や体調不良でFBCでの活動ができておらず、こちらにリアクションできておらず申し訳ないです🙇‍♂️

質問2: bookmark-button.vue の変更範囲について
bookmark-button.vue を参照しているファイルを確認すると、以下のファイルがありました。
app/javascript/components/question-edit.vue
ただ、これは以下のIssueで現在 junohm410 さんが取り組んでいるものと変更範囲が被るかもしれません。

はい、被りそうです。まずどのように被りそうかについて、今日中にここでシェアできるようにします。
(ちょっと一旦離席するので、取り急ぎご連絡というイメージです🙏)

すみませんが、よろしくお願いします。

@junohm410
Copy link
Contributor

@kyokucho1989

変更の概要

#7356PR(現時点ではドラフト)で、app/javascript/components/question-edit.vueは削除する予定です(非Vue化のIssueのため)。

同部分のブックマークボタンに関わる箇所は、下のRailsのviewファイルに移動させます。

https://github.com/fjordllc/bootcamp/blob/chore/convert-question-section-from-vue-to-slim/app/views/questions/_question_header.html.slim#L60

移動先では、現在では下のような形でbookmark-button.vueをマウントさせています。

#js-bookmark(data-bookmarkable-id="#{question.id}", data-bookmarkable-type='Question')

このマウント方法は、このQuestionのビューでの独自の手法ではなく、すでに他でbookmark-button.vueが使われている箇所と同じやり方です。
例: 現在のorigin/mainでのpagesでのマウント方法

#js-bookmark(data-bookmarkable-id="#{page.id}", data-bookmarkable-type='Page')

考えられる進め方について

React化のIssueなので、Questionに限らずですが、slimテンプレート上では下記のような実装に変わるのではないかと思っています。

# app/views/questions/_question_header.html.slim

= react_component('BookmarkButton', bookmarkable-id="#{question.id}", bookmarkable-type='Question')

私のPRは今日明日にはレビューに回せそうなので、kyokuchoさんがReact化を進めているうちにレビューが終わり、私のPRのマージ後に変更をrebaseで取り込んでもらう方法が、うまくいけば綺麗にすすめられる形かなと考えました。

  • app/javascript/components/question-edit.vueは編集しない(削除するので)
  • bookmark-button.vueと同じ機能を持つReactコンポーネントは作っていただく
  • propsはbookmarkable-idbookmarkable-typeの2つを渡すようにしていただく(今と同じ仕様)
  • Question以外で現時点でbookmark-button.vueを使っていただいている箇所は置き換えていただいてOK

のようにしてもらえると、不要なコンフリクトを減らせるのではないかなと考えました。

もちろん、React化にあたりpropsを変える必要が出てきそうとか、私のレビューが長くかかったとか、そのような際には都度相談させていただければと存じますので、やりとりを続けさせてもらえればというイメージです🙏

不明点あればDiscordで通話も大丈夫です。
取り急ぎご確認いただけると幸いです。よろしくお願いいたします🙏

@kyokucho1989
Copy link
Contributor

@junohm410
ありがとうございます!
一旦その方向で書いてみますー

@junohm410
Copy link
Contributor

@kyokucho1989
お疲れ様です。時間がかかってしまい申し訳なかったのですが、下のPRがマージされました。

#js-bookmark(data-bookmarkable-id="#{question.id}", data-bookmarkable-type='Question')

上のコメントでシェアした実装(既存のDocsなどと同じ形)でVueコンポーネントをマウントしています。
こちらを取り込んでいただき、ここをreact-railsのヘルパーに置き換えていただければいいのではと思います。
よろしくお願いいたします🙏

@kyokucho1989 kyokucho1989 changed the title book-select.vueとbookmark-button.vueをreact対応にする bookmark-button.vueをreact対応にする Mar 12, 2024
@kyokucho1989
Copy link
Contributor

本番環境で動作確認できましたのでクローズします。

@komagata komagata moved this to 完成 in bootcamp Aug 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests

4 participants