2017-01-25 5 views
0

私はここに著者の例で示すように、単純なデータテーブルを実装しようとしています:example反応し、仮想化されたデータテーブルの例は

... 
export default class TableExample extends Component { 
static contextTypes = { 
list: PropTypes.instanceOf(Immutable.List).isRequired 
}; 
... 

私は無駄にプロパティとしてImmutableJSリストを渡ししようとしました。私はここに何か他のものがありますか?

データ配列をコンポーネントにどのように取得しますか?私もあまりなくてthis.propsにthis.contextからリンクされているTableExampleに{リスト}のすべての宣言を変更しようとしました

render() { 
    const list = fromJS(this.props.data); 
    console.log(typeof(list)); //this outputs "object" 
    console.log(list); // this outputs ImmutableJS list with size of 761 
    return (
    <TableExample list={list}/> 
    ) 
    } 

:テーブルの例をレンダリングする

私の親コンポーネントは次のようになります成功。どんな助けでも大歓迎です。この時点ではクロームで返さ

コンソールエラー:

Warning: React.createElement: type is invalid -- expected a string (for     
built-in components) or a class/function (for composite components) but  
got: undefined. You likely forgot to export your component from the    
file it's defined in. Check the render method of `TableExample`. 
+0

Plnkrレプロを提供しています。おそらく、あなたは 'テーブル'を反応仮想化から間違ってインポートしているようです。私の例をどのくらい正確にコピーしたかによって、 'import table from'/table ''を' react-virtualized 'から' import {table}'に変更する必要があるかもしれません。 – brianvaughn

+0

@brianvaughn私はあなたの例であなたが提供しているテーブルと同じです私のテーブルとペーストビンをリンクしました:http://pastebin.com/LG8bXM76 – smada

答えて

2

これらの行は問題がある:

import { ContentBox, ContentBoxHeader, ContentBoxParagraph } from 'react-virtualized'; 
import { LabeledInput, InputRow } from 'react-virtualized'; 

これらのコンポーネントが反応し、仮想化されたデモサイトで使用されています。それらは反応仮想化NPM distでパッケージ化されていないので(インポートできません)。これは、あなたが上に貼り付けられたエラー・メッセージの原因である:

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

追加の問題がある可能性があります。私は、悪い輸入品に気づいたあと、あまり読んでいない。

+0

あなたの助けをここにありがとう - これだけあなたのライブラリを使用した後、ほぼ2日間明確になりました。うまくいけば、この質問は人々がデモのためにlibコンポーネントとカスタムの間の行を定義するのに役立ちます – smada

0

著者がしたり、添付ファイルに正しくレンダリングされない場合があり、スタイルシートが含まれていることが表示されます。その後、作成者のソーステーブルの例の74〜162行目のすべてのコンテンツがレンダリングに失敗し、コンポーネントを破棄するレンダリング関数がカスケードします。

この問題を解決して、行74-162と行217の最後の終了タグを削除して確認することができます。リロードした後、基本表で挨拶する必要があります。

データ配列を提供するあなたのアプローチは正しいので、適切なレンダリングが行われます。

@brianvaughnに乾杯し、彼の素晴らしい作品は

関連する問題