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