浜松のWEBシステム開発・スマートフォンアプリ開発・RTK-GNSS関連の開発はお任せください
株式会社シーポイントラボ
TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:静岡県浜松市中区富塚町1933-1 佐鳴湖パークタウンサウス2F

【React】「Uncaught TypeError: Cannot read property ‘prepareStyles’ of undefined」エラーの対処法

以前開発したアプリを修正中に遭遇したエラーです。
Uncaught TypeError: Cannot read property ‘prepareStyles’ of undefined」というエラーで、翻訳したところ、「捕捉されないTypeError:未定義のプロパティ ‘prepareStyles’を読み取ることができません」とのこと。
何か必要な定義を削除したようです。
が、かなり変更してしまったので、どこかを特定するのはやや面倒…。

…と思いきや。
対処法について書かれた記事が Qiita にありました!

記事はこちらから。

Reactでコンポーネントを作ってみる。 – Qiita
https://qiita.com/sho7/items/6bd2aec44b95cb3a7fed

どうやら、Material-UI を利用する時に必要な定義「MuiThemeProvider」が抜けていたことが原因だったようです。
サンプルコードは下記のとおりです。

import React,  {Component}  from 'react';
// 追加: MuiThemeProvider をインポート
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider'

export default class TestPage extends Component {
  render() {
    return (
      <MuiThemeProvider>
        /* ページの内容 */
      </MuiThemeProvider>
    )
  }
}

3行目のとおりに、MuiThemeProvider をインポートし、さらにページ全体をこの <MuiThemeProvider> タグでラップします。
あとは、再度ビルド・実行すれば、このエラーは解消できるはずです。

 

以上、React で発生したエラーの対処法でした。
しかし…以前書いた自分のコードは見返したくないですね…。拙すぎる…。
とりあえず、今は修正に追われています。

  • この記事いいね! (0)