リアクションキーの有効なシンボルは何ですか?私は、キーリアクションキーの有効シンボルは何ですか
const links = [
{
label: 'foo label',
href: 'https://example.com',
},
{
label: 'bar label',
href: 'https://example.com',
}
]
links.map(
link => (<a key={link.href} href={link.href}>{link.label}</a>)
);
としてURLを使用したい私の場合は
<div key="can i use spaces for example?"></div>
これは有効ですか?私は最初にhrefを渡すためにいくつかのハッシュ関数を使うことができると考えていましたが、キー値でどの文字も有効であることが保証されていれば無意味なステップです。
私が尋ねるのは、キーに非英数字を使用する例を見つけることができず、IDを持たないレンダリングしているオブジェクトのキーとして使用してください。hash some part of it to make a key
。これは、長いキーは使用しないでください。内容を最初にハッシュしてサイズを切り捨てる必要があるため、暗黙的に英数字のみをキーとして使用するように文書全体が暗示しているようです。リアクトキーの
あなたが投稿した抜粋では、キーで使用する無効な文字列について明示的には言及していませんが、「キーを生成するためにコンテンツの一部をハッシュする」と言います。 これは必ずしも一部の文字が無効であるとは限りませんが、そのことを意味するようです。そして、たとえ反応がどんな文字でもクラッシュしないようであっても(URLがうまくいくように見えますが)、必ずしもそれが「サポートされている」という意味ではなく、将来的になるでしょう。 – sigsve
元の例が変更されているが、その場合のキーは、兄弟間でURLが一意ではないため、適切ではない*確かではありません。この場合、ラベルを使用する方がよいでしょう。 –