2016-10-26 22 views
1

現在、Scala、PlayフレームワークおよびReactサンプルコードで再生していて、次のコードを変換してES6モジュールシステムを使用せずにブラウザにロードしようとすると問題が発生しました。つまり、export defaultは使用できません。ES6モジュールなしで反応する

export defaultを使わずにクライアント側でロードできるように、ES6で次のように書き直すにはどうすればよいですか?これをクラスと、renderを返す関数に分解しなければなりませんか?

export default function form({ 
    fields: defaultFds = [], 
    validate: defaultVal =() => ({}), 
} = {}) { 
    return (WrappedClass) => class Form extends React.Component { 
    static defaultProps = { 
     fields: defaultFds, 
     validate: defaultVal, 
    } 

    static childContextTypes = { 
     form: PropTypes.object, 
     fields: PropTypes.object, 
    } 

    static propTypes = { 
     fields: PropTypes.array, 
     validate: PropTypes.func, 
     value: PropTypes.object, 
     onChange: PropTypes.func, 
     onValidate: PropTypes.func, 
    } 

    state = { 
     touched: {}, 
     errors: {}, 
     valid: undefined, 
    } 

    render() { 
     const { value, onChange, onValidate, validate, fields, ...otherProps } = this.props; 
     return <WrappedClass {...otherProps} {...this.generatedProps()} />; 
    } 
    } 
} 

答えて

0

あなたがここに全体の事を書き換える必要があるとしている...あなたはES6を使用できない場合は、export defaultよりも心配するより多くのを持っているので - () =>で定義されたすべての機能する必要がありますJSXを使用することはできません。

件名のReact docsを読んでいますか?

+0

うん、私はそれを実現しました:(。webpackをどのように統合するかを考え終えた – nixgadgets

関連する問題