React + TS,未定义的组件类型,而组件位于同一名称空间

时间:2017-01-20 19:48:46

标签: javascript reactjs typescript react-jsx

增刊 我的堆栈是React.js + TypeScript。 我在同一名称空间中有两个类。 在两个单独的文件(MaterialSelector.tsx和MaterialSearchResult.tsx)

MaterialSelector.tsx:

namespace Materials {
 export class MaterialsSelector extends React.Component<Props, State>{public render(): JSX.Element {
      return <div className={'aeworms-materials-selector' + (this.state.searching ? ' -searching' : '')}>
        <div className='-search-form'>
         <input
           type='search'
           placeholder='Naam, artikelnummer, …'
           value={this.state.query}
           onChange={ev => this.search((ev.target as HTMLInputElement).value)}
           onFocus={ev => this.startSearch()}
           onBlur={ev => this.stopSearch((ev.target as HTMLInputElement).value)}
         />
         {this.state.searching
           ? <button type='button' className='-cancel'>Annuleer</button>
           : null}
         </div>
         <table className='-search-results'>
          <tbody>
           {this.state.searchResults.map(material => {
             <MaterialsSearchResult />
            })}
           </tbody>
          </table>
       </div>
    }}

MaterialsSearchResult.tsx:

namespace Aeworms.Materials {
export class MaterialsSearchResult extends React.Component<Props, State> {


    public render(): JSX.Element {
      return <tr>
              <td></td>
             </tr>
    }

}}

我收到了这个警告:

警告:React.createElement:type不应为null,undefined,boolean或number。它应该是一个字符串(对于DOM元素)或一个ReactClass(对于复合组件)。检查MaterialsSelector的呈现方法。 警告@ react.js:19287

指向哪个。 不知何故,MaterialSelector类不会“看到”MaterialsSearchResult类,即使它位于同一名称空间中。 我试图导入这个类,(导入MaterialsSearchResult = Materials.MaterialsSearchResult)仍然有同样的错误。 尝试导出为默认值,导致另一个错误:

找不到名称'MaterialsSearchResult'

那么,我做错了什么?

0 个答案:

没有答案