当前位置: 首页 > news >正文

营销网站制作方案深圳网络营销运营

营销网站制作方案,深圳网络营销运营,一个ip地址做多个网站,厦门网上房地产useId() 在组件的顶层调用 useId 生成唯一 ID: import { useId } from react; function PasswordField() { const passwordHintId useId(); // ...参数 useId 不带任何参数。 返回值 useId 返回一个唯一的字符串 ID,与此特定组件中的 useI…

useId()

在组件的顶层调用 useId 生成唯一 ID:

import { useId } from 'react';  function PasswordField() {  
const passwordHintId = useId();  
// ...
参数

useId 不带任何参数。

返回值

useId 返回一个唯一的字符串 ID,与此特定组件中的 useId 调用相关联。

注意事项
  • useId 是一个 Hook,因此你只能 在组件的顶层 或自己的 Hook 中调用它。你不能在内部循环或条件判断中调用它。如果需要,可以提取一个新组件并将 state 移到该组件中。
  • useId 不应该被用来生成列表中的 key。key 应该由你的数据生成。

用法

为无障碍属性生成唯一 ID

在组件的顶层调用 useId 生成唯一 ID:

import { useId } from 'react';function PasswordField() {const passwordHintId = useId();// ...

你可以将 生成的 ID 传递给不同的属性:

<><input type="password" aria-describedby={passwordHintId} /><p id={passwordHintId}>
</>

让我们通过一个例子,看看这个什么时候有用

aria-describedby 这样的 HTML 无障碍属性 允许你指定两个标签之间的关系。例如,你可以指定一个元素(比如输入框)由另一个元素(比如段落)描述。

在常规的 HTML 中,你会这样写:

<label>密码:<inputtype="password"aria-describedby="password-hint"/></label>
<p id="password-hint">密码应该包含至少 18 个字符
</p>

然而,在 React 中直接编写 ID 并不是一个好的习惯。一个组件可能会在页面上渲染多次,但是 ID 必须是唯一的!不要使用自己编写的 ID,而是使用 useId 生成唯一的 ID。

import { useId } from 'react';function PasswordField() {const passwordHintId = useId();return (<><label>密码:<inputtype="password"aria-describedby={passwordHintId}/></label><p id={passwordHintId}>密码应该包含至少 18 个字符</p></>);
}

现在,即使 PasswordField 多次出现在屏幕上,生成的 ID 并不会冲突。

import { useId } from 'react';function PasswordField() {const passwordHintId = useId();return (<><label>密码:<inputtype="password"aria-describedby={passwordHintId}/></label><p id={passwordHintId}>密码应该包含至少 18 个字符</p></>);
}export default function App() {return (<><h2>输入密码</h2><PasswordField /><h2>验证密码</h2><PasswordField /></>);
}

在这里插入图片描述

为多个相关元素生成 ID

如果你需要为多个相关元素生成 ID,可以调用 useId 来为它们生成共同的前缀:

import { useId } from 'react';export default function Form() {const id = useId();return (<form><label htmlFor={id + '-firstName'}>名字:</label><input id={id + '-firstName'} type="text" /><hr /><label htmlFor={id + '-lastName'}>姓氏:</label><input id={id + '-lastName'} type="text" /></form>);
}

可以使你避免为每个需要唯一 ID 的元素调用 useId


为所有生成的 ID 指定共享前缀

如果你在单个页面上渲染多个独立的 React 应用程序,请在 createRoothydrateRoot 调用中将 identifierPrefix 作为选项传递。这确保了由两个不同应用程序生成的 ID 永远不会冲突,因为使用 useId 生成的每个 ID 都将以你指定的不同前缀开头。

index.html

<!DOCTYPE html>
<html><head><title>My app</title></head><body><div id="root1"></div><div id="root2"></div></body>
</html>

App.js

import { useId } from 'react';function PasswordField() {const passwordHintId = useId();console.log('生成的 ID:', passwordHintId)return (<><label>密码:<inputtype="password"aria-describedby={passwordHintId}/></label><p id={passwordHintId}>密码应该包含至少 18 个字符</p></>);
}export default function App() {return (<><h2>输入密码</h2><PasswordField /></>);
}

index.js

import { createRoot } from 'react-dom/client';
import App from './App.js';
import './styles.css';const root1 = createRoot(document.getElementById('root1'), {identifierPrefix: 'my-first-app-'
});
root1.render(<App />);const root2 = createRoot(document.getElementById('root2'), {identifierPrefix: 'my-second-app-'
});
root2.render(<App />);

在这里插入图片描述

useId – React 中文文档 (docschina.org)

http://www.yayakq.cn/news/559143/

相关文章:

  • 建设网站的会计分录互联网广告代理
  • 河南省住房城乡与建设厅网站首页搭建集团网站
  • 大连网站的优化wordpress不能识别语言
  • 怎样建设网站赚钱金融行业做网站
  • 网站开发 自动生成缩略图电子商务网站运营方案
  • 百度蜘蛛对视频网站的抓取wordpress淘宝客模板修改教程
  • 北京网站建设课程培训班seosem推广
  • 用仿站工具做网站wordpress设置下拉菜单
  • 大连网站建设兼职课件ppt模板免费下载
  • 如何自己做网站知识外包公司为什么没人去
  • 门户类网站是什么意思福建省建设环卫协会网站
  • 电子商务网站建设 代码wordpress 恢复初始
  • 我想做自己网站怎么做济南市做网站
  • 网站建设板块h5游戏辅助工具
  • 小型网站建设青岛网站建设要多少钱
  • 做网站建设培训长春工作招聘网
  • 自己有网站怎么做点卡网站建设公司如何转型
  • 网站建设推广襄樊烟台seo网络推广
  • wordpress怎样建站建设网站多少费用
  • 仕德伟做的网站青岛网站设计机构
  • 网站建设尾款收取wordpress站点打不开
  • 界首网站优化公司led灯网站策划书
  • 我自己做的网站一直没有效果怎么办电商cms
  • 建设手机网站包括哪些费用吗网页关于我们怎么设计
  • 小白建设论坛网站能建商城
  • 下列关于网站开发中网页发布做二手市场类型的网站名字
  • 建设电子商务网站步骤江西网站建设平台
  • 怎么给人介绍自己做的网站九江市建筑公司
  • 山东省建设局网站首页网站整合营销等服务
  • 公司内部网站设计做网站要不要营业执照