大きな複雑な<table>
があり、別のjavascriptフレームワーク(knockout)へのバインディングがたくさんあります。私はその一部をReactに変換しようとしています。tbodyをルートの反応要素として使用する方法
<table>
<tbody id="lots_of_legacy_knockout"> ... </tbody>
<tbody id="I_want_this_in_React"></tbody>
</table>
しかし、これは<tbody>
コンテナ内<tbody>
ルート要素を入れしようとします:
const Tbody =() => (
<tbody>
<tr />
<tr />
<tr />
</tbody>
);
ReactDOM.render(
<Tbody />,
document.getElementById('I_want_this_in_React')
);
と望んで反応するので、これはエラーになりユニークなルート要素:
const Tbody =() => ([
<tr />,
<tr />,
<tr />,
]);
ReactDOM.render(
<Tbody />,
document.getElementById('I_want_this_in_React')
);
Reactのルート<table>
要素全体を書き直すことなく、これをどのように達成できますか?
反応根と反応容器を組み合わせる方法はありますか?
うーんを。内容をテーブルから分割する方法はありません。私はあなたが示唆しているように反応コンポーネントをテーブルの外にレンダリングすることが可能かどうか疑問に思います。 –
私はそれが不可能であり、核心の原則に反すると思うでしょう。 Reactがあなたに関連するDOMを管理させます。コンポーネントを別のコンポーネントにレンダリングし、その内容をコピーするためにjQueryを使用するのは客観的に悪いことですが、jQueryがコンポーネントの再レンダリングをどのように行っているのか分からないので、私の助言:あなたのテーブルの部分を切り離すか、「
テーブルを別のテーブルにネストすることもできます。 –
関連する問題