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

网站建设ppt百度文库凡科网模板

网站建设ppt百度文库,凡科网模板,做搜狗网站,沈阳网站建设推广React 应用程序是由组件组成的。 react 程序是用的jsx语法#xff0c;使用这种语法的代码需要由babel进行解析#xff0c;解析成js代码。 jsx语法#xff1a; 只能返回一个根元素 所有的标签都必须闭合#xff08;自闭和或使用一对标签的方式闭合#xff09; 使用驼峰式… React 应用程序是由组件组成的。 react 程序是用的jsx语法使用这种语法的代码需要由babel进行解析解析成js代码。 jsx语法 只能返回一个根元素 所有的标签都必须闭合自闭和或使用一对标签的方式闭合 使用驼峰式命名法给大部分属性命名如className 大写字母开头的标签一般都是组件 jsx标签的属性使用引号传递字符串使用一组{和}传递js变量且大括号中可以写js的表达式也可以传递使用个另外一对额外的大括号包裹对象。 标签中可以使用三目运算符 在 JSX 中{cond ? A / : B /} 表示 “当 cond 为真值时, 渲染 A /否则 B /” 在 JSX 中{cond A /} 表示 “当 cond 为真值时, 渲染 A /否则不进行渲染”。 return (li classNameitem{isPacked ? name ✔ : name}/li );渲染列表使用map()方法生成一组相似组件使用filter()方法来筛选数组 const listItems chemists.map(person li.../li // 隐式地返回 );const listItems chemists.map(person { // 花括号return li.../li; });组件引入语法用到了ES6的模块化编程语法 解构赋值语法可以将数组中的值或对象的属性取出赋值给其他变量。 展开运算符 function Profile({ person, size, isSepia, thickBorder }) {return (div classNamecardAvatarperson{person}size{size}isSepia{isSepia}thickBorder{thickBorder}//div); } {/* 关于Avatar那一部分可以写成 */} Avatar {...props} /React 三大元素 State对象要将state视为只读的 在数据发生改变之后页面上的内容才会重新渲染、 设置 state 不会更改现有渲染中的变量会请求一次新的渲染。React 将 state 存储在组件之外就像在架子上一样。当你调用 useState 时React 会为你提供该次渲染 的一张 state 快照。 更新state对象时要传递一个新的值即使时一个json对象。 你可以使用这样的 {...obj, something: newValue} 对象展开语法来创建对象的拷贝。 更新state中的数组 推荐使用会返回一个新数组添加元素concat[…arr]删除元素filterslice替换元素map排序先将数组复制一份儿 可以使用 Immer 来保持代码简洁。 相同UI树上的元素的State将会被保留位置不同的组件会使state重置 你可以通过为一个子树指定一个不同的 key 来重置它的 state。 props对象 在标签上添加属性即可给组件添加prop属性。在子组件中可以通过props读取到对应的属性解构赋值时可以给一个默认值 function Avatar({ person, size 100 }) {// ... }组件间共享状态可以通过状态提升的方式让后再通过props传递给子组件。 通过context上下文传递参数 创建context import { createContext } from react; export const LevelContext createContext(1);使用context {/* 组件会使用 UI 树中在它上层最近的那个 LevelContext.Provider 传递过来的值。 */} import { LevelContext } from ./LevelContext.js; const level useContext(LevelContext);提供context {/* 在父组件中设定对应的值 */} section classNamesectionLevelContext.Provider value{level}{children}/LevelContext.Provider /sectionref对象 React的交互 给元素的事件传递一个函数而调用一个函数。 button onClick{handleClick} {/* 正确 */} button onClick{handleClick()}{/* 错误 */}在 React 中useState 以及任何其他以“use”开头的函数都被称为 Hook。 使用useImmerReducer可以将通知同一个state的方法组织到一起。提高代码的可读性。 把useState转化为useReducer 通过事件处理函数 dispatch actions编写一个 reducer 函数它接受传入的 state 和一个 action并返回一个新的 state使用 useReducer 替换 useState import { useImmerReducer } from use-immer; import AddTask from ./AddTask.js; import TaskList from ./TaskList.js;function tasksReducer(draft, action) {switch (action.type) {case changed: {const index draft.findIndex((t) t.id action.task.id);draft[index] action.task;break;}case deleted: {return draft.filter((t) t.id ! action.id);}default: {throw Error(未知 action action.type);}} }export default function TaskApp() {const [tasks, dispatch] useImmerReducer(tasksReducer, initialTasks);function handleChangeTask(task) {dispatch({type: changed,task: task,});}function handleDeleteTask(taskId) {dispatch({type: deleted,id: taskId,});}return (h1布拉格的行程安排/h1AddTask onAddTask{handleAddTask} /TaskListtasks{tasks}onChangeTask{handleChangeTask}onDeleteTask{handleDeleteTask}//); } let nextId 3; const initialTasks [{id: 0, text: 参观卡夫卡博物馆, done: true},{id: 1, text: 看木偶戏, done: false},{id: 2, text: 打卡列侬墙, done: false}, ];
http://www.yutouwan.com/news/338791/

相关文章:

  • wordpress有名的网站公司设计网站详情
  • mi2设计公司网站陕西住房与城乡建设厅网站
  • 做网站要学哪些淘宝店网站建设
  • 如何解析网站h5响应式网站设计方案
  • 怎样建网站?中山做营销型网站
  • 一键抓取的网站怎么做深圳制作外贸网站
  • app与网站的区别是什么电商网站 投诉
  • 手机app编程工具湖南网站搜索排名优化电话
  • 推广普通话黑板报百度seo排名
  • 高端手机网站建设免费淘宝客网站建设
  • 做网站怎么优化网站总体设计
  • 黑龙江省建设协会网站首页二级院系网站建设情况
  • 做一个网站先做前段 还是后端郑州购物网站建设
  • 试列出网站开发建设的步骤企业微信平台
  • 科技公司企业网站建设网站开发需要团队
  • 领导高度重视门户网站建设网络建设文章网站
  • 长春市网站制作东莞横沥理工学校
  • 模板下载网站网站排名点击
  • 网站建设销售合作合同范本泉州市住房和乡村建设网站
  • dnf怎么做钓鱼网站徐州做汽车销售的公司网站
  • 外外贸网站推广方案网站案例代码
  • wordpress 建的网站吗wordpress restfulapi
  • 自己在公司上班做网站宣传 侵权吗网络系统集成
  • 销售型网站怎么做的wordpress调用单页面跳转
  • 永久免费搭建网站怎么做查询网站
  • wordpress下载验证码整站seo技术搜索引擎优化
  • 平阳网站建设手机网站建站 服务器
  • 谷歌优化网站链接怎么做个人邮箱申请
  • 合肥网站建设第一品牌吉安公司做网站
  • 做一个国外的网站我是新手如何做跨境电商