我正在尝试一行导出const <SearchForm/>
,但出于某种原因,它出错了。
这是我的代码
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:type无效 - 期望一个字符串(对于内置组件)或类/函数(对于复合组件)但得到:undefined。您可能忘记从其定义的文件中导出组件。请检查
Home
的呈现方法。
如果我在底部const SearchForm = props => .....
和export default <SearchForm/>
,那就没问题。我还尝试了export default SearchForm...
和其他变体。
我正在关注egghead.io教程和使用完全相同语法的人,所以我不知道出了什么问题?这是他的代码
答案 0 :(得分:10)
我猜你现在正在使用
import SearchForm from './SearchForm';
但是因为你的出口
export const SearchForm = props => (
所以你必须使用这个语法
import {SearchForm} from './SearchForm';
总结:
导出默认值时,导入时不带{}
导出时没有默认值,请使用{}
导入答案 1 :(得分:0)
你是如何导入你的组件的? 您应该尝试在导出后添加默认值:
export default class...