0

のプロパティReactJSの値を取得できません:私はIE 9月10日に、次のエラーが発生します私は次のコードを使用してDOMにレンダリングしています反応する成分を持っているIE9/10

ReactDOM.render(React.createElement(PROJECT.CalendarApp, 
     { key      : 'globalcalendar', 
      roomPage    : false, 
      localeRegion   : PROJECT.user.locale().region, 
      localeStartDay   : PROJECT.user.locale().startDay, 
      showCalendarOnLoad  : false, 
      name     : 'globalcalendar', 
      availabilityCalendar : false 
     }), 
    document.getElementById('global_calendar_component')); 

を理由を理解できないようです - Unable to get value of the property 'localeRegion' object is null or undefined reactjs

PROJECT.user.locale().regionが正しく定義され、'en'の文字列を返します。

この問題

はIE 9と10で発生していると、現時点での私のWebPACKの設定は次のようになります。私はすでにバベルポリフィルがプロジェクトにロードされている、非常にこの問題に困惑しています

var webpack = require('webpack'); 
var path = require('path'); 

var BUILD_DIR = path.resolve(__dirname, '../src/Family/SystemBundle/Resources/public/js/components/compiled'); 
var APP_DIR = path.resolve(__dirname, '../src/Family/SystemBundle/Resources/public/js/components/'); 

var config = { 
    entry: { 
     calendar : APP_DIR + '/calendar.jsx' 
    }, 
     output: { 
      path: BUILD_DIR, 
      filename: '[name].js' 
     }, 
    module : { 
     loaders : [ 
      { 
       test : /\.jsx?/, 
       include : APP_DIR, 
       loader : 'babel', 
       query: 
       { 
        presets:[require.resolve('babel-preset-es2015'), require.resolve('babel-preset-react')] // Brackets - required for babel symlinking because node_modules is not in the root folder. 
       } 
      } 
     ] 
    } 
}; 

module.exports = config; 

。誰かが似たようなことを経験していれば、それをどのように解決するかを知ることは素晴らしいことです。

答えて

0

最終的にこの問題の回答が見つかりました。問題は、IE9では、反応コンポーネントのコンストラクタで使用される小道具は好きではありませんが、他のコンポーネントメソッドでは小道具を使用できるということです。

この問題を解決するには、コンストラクタでプロップを使用しないでください。ウェブパックファイルでplugins: [['transform-es2015-classes', {loose: true}]]を試してみてください。ここ

詳細:https://phabricator.babeljs.io/T3041 & https://phabricator.babeljs.io/T6954

+0

おかげで、トム、IE9は、今日の午後の数時間のために失敗した理由を不思議に思った後にはかなり便利。代わりに 'babel-plugin-transform-es2015-classes'、{loose:true}が必要でした。 – cdoch

関連する問題