以前開発したアプリを修正中に遭遇したエラーです。
「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 で発生したエラーの対処法でした。
しかし…以前書いた自分のコードは見返したくないですね…。拙すぎる…。
とりあえず、今は修正に追われています。