質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

1回答

835閲覧

[FullCalendar]プラグイン間の移動が実装できない

aiai8976

総合スコア112

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2020/09/12 08:42

前提・実現したいこと

fullCalendarライブラリを使ってカレンダーアプリを実装しています。
その際に月カレンダーから日別カレンダーに遷移しようと考えているのですが、jsでやっているところをReactでやった場合どうなるのかわからず困っています。
https://fullcalendar.io/docs/Calendar-changeViewではcalendarオブジェクトを使えば遷移できると書かれているのですが、https://fullcalendar.io/docs/month-viewのようにjsではcalendarオブジェクトを作っているのでそのまま使えると思うのですが、https://fullcalendar.io/docs/reactのようにReactの場合はFullCalendarコンポーネントを使っているためどのようにcalendarオブジェクトを利用すればいいのかわかりません。
ご教示お願いします。

該当のソースコード

js

1import React from 'react' 2import FullCalendar from '@fullcalendar/react' 3import dayGridPlugin from '@fullcalendar/daygrid' 4 5export default class DemoApp extends React.Component { 6 render() { 7 return ( 8 <FullCalendar 9 plugins={[ dayGridPlugin ]} 10 initialView="dayGridMonth" 11 /> 12 ) 13 } 14}

↓やりたいこと

js

1calendar.changeView('timeGridDay', '2017-06-01');

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

こんにちは

参考になるか分かりませんが、同様の内容を質問している投稿をみつけました。(現時点で、まだ四ヶ月前の投稿なので、それほど古いものではありません。)

上記の投稿への回答を参考に作成してみたものが以下です。

jsx

1import React from "react"; 2import FullCalendar from "@fullcalendar/react"; 3import dayGridPlugin from "@fullcalendar/daygrid"; 4import timeGridPlugin from "@fullcalendar/timegrid"; 5 6export default class DemoApp extends React.Component { 7 constructor() { 8 super(); 9 this.calendarRef = React.createRef(); 10 } 11 12 handleChangeView = () => { 13 const api = this.calendarRef.current.getApi(); 14 const type = 15 api.view.type === "dayGridMonth" ? "timeGridDay" : "dayGridMonth"; 16 const date = type === "timeGridDay" ? "2017-06-01" : null; 17 api.changeView(type, date); 18 }; 19 20 render() { 21 return ( 22 <div style={{ display: "flex", flexDirection: "column" }}> 23 <FullCalendar 24 plugins={[dayGridPlugin, timeGridPlugin]} 25 initialView="dayGridMonth" 26 ref={this.calendarRef} 27 /> 28 <br /> 29 <button 30 type="button" 31 onClick={this.handleChangeView} 32 style={{ width: 200 }} 33 > 34 <h3>ビューの切り替え</h3> 35 </button> 36 </div> 37 ); 38 } 39} 40

参考になれば幸いです。

投稿2020/09/12 10:43

jun68ykt

総合スコア9058

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問