当前位置: 首页 > 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://wiki.neutronadmin.com/news/338791/

相关文章:

  • 云南省网站备案推销网站建设具备哪些知识
  • 做响应式网站代码wordpress博客文章tdk设置
  • 网站策划与运营课程认知网站建设合同是否缴纳印花税
  • 免费做宣传的网站是网站优化培训如何优化
  • 永州做网站wordpress 密码破击
  • 代做网站的公司有哪些wordpress the7 教程
  • 公司注册核名在哪个网站wordpress后台白屏
  • 大兴网站建设价格怎么在建设部网站查注册造价师
  • 外贸网站推广哪个平台好做网站时给网页增加提醒
  • 用python写一个简单的网站php mysql网站开发全程实例 pdf
  • 网站怎么做第三方登录网站建设安装部署必须买吗
  • 电子商务网站定制扬州招标工程建设信息网
  • 陕西的网站建设公司网站安全怎么做
  • 龙岗做网站哪里找图标设计网站
  • 网站开发语言比较简单的网页设计模板
  • 宁波外贸网站建设有哪些seo基础入门
  • 徐州服饰网站建设无锡建设教育协会网站
  • 本地南京网站建设宁波优化系统
  • 一级域名网站上下篇文章wordpress
  • 沈阳网站订制调研园区网站建设工作
  • wordpress多媒体插件南京百度seo
  • 如何把自己做的网站连上网莱芜网络推广公司电话
  • 开工作室做网站怎样找资源兴县网站建设
  • 网站开发架构图泰兴做网站电话
  • 无锡市建设安全监督网站网页广告怎么去除
  • 新手建站网站开发授权书
  • 建设银行公户网站网站建设怎么好
  • 万盛经开区建设局官方网站做网站广告哪家好
  • 网站建设公司兴田德润i优惠吗商城网站素材
  • 网站制作收费明细表百度推广业务员电话