2017-02-20 6 views
1

私は1行でエクスポートしようとしています<SearchForm/>私は何かの理由でそれはエラーを出しています。ここで React:constをエクスポートできません

は私のコードです

import React from 'react'; 

export const SearchForm = props => (
    <form className="search-form" onSubmit={props.onSubmit}> 
    <input placeholder="Username" type="text" value={props.value} onChange={props.onChange}></input> 
    <input type="submit" value="Search"></input> 
    </form>) 

SearchForm.propTypes = { 
    onSubmit: React.PropTypes.func.isRequired, 
    value: React.PropTypes.string.isRequired, 
    onChange: React.PropTypes.func.isRequired 
} 

React.createElement:タイプが無効です - (複合コンポーネント用)(内蔵部品のための)文字列またはクラス/機能を期待したが得た:未定義。コンポーネントが定義されているファイルからコンポーネントをエクスポートするのを忘れた可能性があります。Homeというレンダリング方法を確認してください。

const SearchForm = props => .....export default <SearchForm/>を下部に置いても問題ありません。私もexport default SearchForm...と他のバリエーションを試しました。

私はegghead.ioチュートリアルに従っていて、まったく同じ構文を使用しているので何が間違っているのか分かりません。ここでは彼のコード

enter image description here

答えて

0

どのようにあなたのコンポーネントをインポートしたのですか? あなたは、エクスポート後にデフォルトを追加しようとする必要があります

export default class... 
+0

あなたの質問でデフォルトなしのエクスポート、インポートは、私はそれで遊んで作られ、それを修正するために管理していない{}

でエクスポートデフォルトでは、インポート。私は 'Import SearchForm from ... 'を行っていたので、' import {SearchForm} from ... 'に変更し、' export const SearchForm = props => 'でエクスポートしました... – Apswak

+0

あなたは、ファイルごとに1つのコンポーネントのみを宣言します。だから、私はそれがデフォルトのキーワードを追加し、インポートの角括弧を削除する方が良いと思う。 – Kornflexx

+0

これは私の好みのオプションですが、予期せぬトークンのconstを言っています。なぜわかりません – Apswak

5

を、私はあなたが現在

import SearchForm from './SearchForm'; 

使用推測しかし、あなたの輸出ので

export const SearchForm = props => (

だからあなたはこの構文を使用する必要があり

import {SearchForm} from './SearchForm'; 

は結論するには、次の

するとインポートの{}

関連する問題