可能ですか?特定のタグを持つすべての要素をコンポーネントに置き換えます。
基本的に私がしたいのは、「編集」ボタンをクリックするようなイベントです。すべての要素を入力フィールドで特定のタグに置き換える必要があります。jQueryを使用する方法はわかっていますが、反応する。
jQueryの/擬似コード:
$('a').each(function(e,i){
e.html('<input placeholder="'+ e.text() +'" />');
});
可能ですか?特定のタグを持つすべての要素をコンポーネントに置き換えます。
基本的に私がしたいのは、「編集」ボタンをクリックするようなイベントです。すべての要素を入力フィールドで特定のタグに置き換える必要があります。jQueryを使用する方法はわかっていますが、反応する。
jQueryの/擬似コード:
$('a').each(function(e,i){
e.html('<input placeholder="'+ e.text() +'" />');
});
は確かにあなたがレンダリング全体の要素を置き換えます。
const links = document.querySelectorAll('a');
for (let i = 0; i < links.length; i++) {
const link = links[i];
ReactDom.render(
<LinkNode text={link.textContent} />,
link
);
link.style.border = "5px solid red";
}
あなたが入力タグとアンカータグを置き換えることを計画している場合は、クリーンな方法は、ラッパーを使用して、各ラッパー内のhtmlを交換するだろう入力フィールドのhtml。各要素のラッパーは、jQueryのを使用して、次のことで割り当てることができます:あなたが、しかし反応できる
$('#notify-container').parent()
はい、もちろんこれはReactを使用する多くのデザインで可能です。 1つのアイデアは、2つの状態を持つComponentと、状態を制御するprop(編集可能またはリンク)を作成することです。レンダリング時には、どの状態が適切かを判断できます。 –