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

网站建设的多吗网页设计图片叠加

网站建设的多吗,网页设计图片叠加,国内军事新闻最新消息,wordpress手机版难看真实DOM和虚拟DOM区别 react关于虚拟DOM和真实DOM 虚拟DOM比较“轻”#xff0c;真实DOM比较“重”#xff0c;因为虚拟DOM是React在用#xff0c;无需真实DOM上那么多属性 虚拟DOM最终一定会转为真实DOM放入页面 JSX JSX: 全称JavsScript XML 是react定义的一种类似于XM…真实DOM和虚拟DOM区别 react关于虚拟DOM和真实DOM 虚拟DOM比较“轻”真实DOM比较“重”因为虚拟DOM是React在用无需真实DOM上那么多属性 虚拟DOM最终一定会转为真实DOM放入页面 JSX JSX: 全称JavsScript XML 是react定义的一种类似于XML的JS扩展语法JS XML 本质是 React.createElement(component, props, …children)方法的语法糖 jsx语法规则 1.创建虚拟DOM时不要写引号 2.标签中要混入【js表达式】要使用{} 3.标签中样式的类名要用className来指定 4.标签中的内联样式要用style{{color:‘white’}},属性名转为小驼峰 5.VDOM每次创建只能有一个根标签 6.标签必须闭合单标签加 / 自闭合 7.关于标签首字母 1 若首字母小写那么React就会去寻找与之同名的html标签 · 若找见直接转为html同名元素 · 若未找见报错 2 若首字母大写那么React就会去寻找与之同名的组件component · 若找到就使用 · 若没有就会报错 8.注释时先用{}包起来变成js表达式再注释 受控组件和非受控组件 非受控组件表单中的数据在需要的时候“现用现取” 通过ref获得节点进而访问到value值 受控组件表单中输入类的DOM随着用户的输入 将值自动收集到State中那么就称为受控组件 高阶函数和函数柯里化 高阶函数如果一个函数符合下面2个规范中的任意一个该函数即为高阶函数 1.若A函数接收的参数是一个函数那么A即为高阶函数 2.若A函数调用的返回值依然是一个函数那么A为高阶函数 常见的高阶函数 Promise setTimeout arr.map() bind() 函数的柯里化通过函数调用继续返回函数的方式实现多次接收参数最后统一处理的函数编码形式。 render(){return(form onSubmit{this.handleLogin}用户名input typetexnCht onChange{this.saveFormData(username)} /br/密码input typepassword onChange{this.saveFormData(password)} /br/button登陆/button/form)}saveFormData (type) {return (event){this.setState({[type]:event.target.value})} }不用高级函数和柯里化 render() {return (form onSubmit{this.handleLogin}用户名input typetexnCht onChange{event this.saveFormData(event, username)} /br /密码input typepassword onChange{event this.saveFormData(event, password)} /br /button登陆/button/form)}saveFormData (event, type) {this.setState({ [type]: event.target.value })} react生命周期 this.forceUpdate()强制render() 旧 1.初始化阶段由ReactDOM.render()触发 — 初次渲染 constructor() 2. componentWillMount() 3. render() 4. componentDidMount() 更新阶段由组件内部this.setState()或父组件重新render触发 shouldComponentUpdate()componentWillUpdate()render()componentDidUpdate() 卸载组件由ReactDOM.unmountComponentAtNode()触发 componentWillUnmount() 父子组件执行顺序 初始化阶段 父-componentWillMount 父-render 子-componentWillMount 子-render 子-componentDidMount 父-componentDidMount 更新阶段 父-componentWillReceiveProps 父-shouldComponentUpdate 父-componentWillUpdate 父-render 子-componentWillReceiveProps// 第一次传的不算第二次传的才会显示 子-shouldComponentUpdate 子-componentWillUpdate 子-render 子-componentDidUpdate 父-componentDidUpdate 卸载组件 父-componentWillUnmount 子-componentWillUnmount 新 新的hook的区别 1. 取消了 componentWillMount componentWillReceiveProps componentWillUpdate 2. 新增了 getDerivedFromProps当组件中的state完全取决于外部传来的prop时就要用该钩子 getSnapshotBeforeUpdate访问更新前的 props 和 state等信息。需要与 componentDidUpdate() 方法一起使用否则会出现错误 diffing算法原理 经典面试题 1) react/vue中的key有什么作用key的内部原理是什么 2) 为什么遍历列表时key最好不要用index 虚拟DOM中key的作用 简单的说key是虚拟DOM对象的标识在更新显示时key起着极其重要的作用。 详细的说当状态中的数据发生变化时react会根据【新数据】生成【新的虚拟DOM】 随后React进行【新虚拟DOM】与【旧虚拟DOM】的diff比较比较规则如下 a) 旧虚拟DOM中找到了与新虚拟DOM相同的key 1.若虚拟DOM中的内容没变直接使用之前的真实DOM 2.若虚拟DOM中的内容变了则生成新的真实DOM随后替换掉页面中之前的真实DOM b) 旧虚拟DOM中未找到与新虚拟DOM相同的key 根据数据创建新的真实DOM随后渲染到页面 用index作为key可能会引发的问题 若对数据进行逆序添加、逆序删除等破坏顺序操作 会产生没有必要的真实DOM更新 界面效果没问题但效率低 如果结构中还包含输入类的DOM 会产生错误DOM更新 界面有问题 注意 如果不存在对数据的逆序添加、逆序删除等破坏顺序的操作 仅用于渲染列表、用于简单的展示使用index作为key是没有问题的。 开发中如何选择key 最好使用每条数据的唯一标识作为key比如id、手机号、身份证号、学号等唯一值。如果确定只是简单的展示数据用index也是可以的。 跨域 什么是跨域问题跨域问题是浏览器对于ajax请求的一种安全限制 (1) 同源策略 所处的位置和目标位置不同域源 http://localhost:3000/a http://localhost:3000/b https://localhost:3001/b 协议、主机名域名、端口号 跨域问题仅当XMLHttpRequestAJAX请求时会出现。 (2) 浏览器所特有的一个问题 2. 如何解决 (1)JSONP 利用script标签没有跨域限制的漏洞(动态创建script标签然后设置src属性就可解决跨域问题。需要服务的支持 只能发起GET请求) (2)CORS 要想把所有跨域问题解决至少要配7个请求头 (3)代理解决跨域 ref 1.祖父串形式的ref render(){return(divinput typetext refinput1 /button onClick{this.show}点我提示左侧数据/buttoninput typetext refinput2 onBlur{this.show2} placeholder失去焦点提示数据//div) } show (){// const {refs:{input1:{value:a}}} this 重命名const {input1} this.refsalert(input1.value); } show2 (){const {input2} this.refsalert(input2.value);}2.回调形式的ref render(){return(divinput typetext ref{ c this.input1 c} /button onClick{this.show}点我提示左侧数据/buttoninput typetext ref{ c this.input2 c} onBlur{this.show2} placeholder失去焦点提示数据//div) }show (){console.log(this);const {input1} thisalert(input1.value)} show2 (){const {input2} thisalert(input2.value) }3.createRef形式的ref container React.createRef() container2 React.createRef() render(){return(divinput typetext ref{this.container} /button onClick{this.show}点我提示左侧数据/buttoninput typetext ref{this.container2} onBlur{this.show2} placeholder失去焦点提示数据//div) }show (){console.log(this.container); // {current: input}alert(this.container.current.value) } show2 (){alert(this.container2.current.value) }react函数入参经典写法 方式一 input typepassword onChange{event this.saveFormData(event, password)} / saveFormData (event, type) {this.setState({ [type]: event.target.value }) }方式二 input typetexnCht onChange{this.saveFormData(username)} / saveFormData (type) {return (event){this.setState({[type]:event.target.value})} }
http://www.hkea.cn/news/14350942/

相关文章:

  • 怎样查找网站域名网站的封面怎么做
  • 重庆深蓝科技网站开发网络营销第三版课本
  • 杭州pc网站开发公司有哪些众筹wordpress模板
  • 上海建筑安全协会网站建筑人才网上传不了论文
  • 只做健康产品的网站网站安装步骤页面
  • 建站公司合肥网站微信支付怎么做的
  • 公司网站设计 上海去了外包公司就毁了吗
  • 三门峡集团网站建设驻马店网站建设熊掌号
  • 网站数据库是谁提供做网站建设哪家效益快
  • 西安做网站公司必达wordpress 优化设置
  • 游戏落地页网站建设做服装招聘的网站有哪些内容
  • 国外做论坛网站全国网站联盟
  • 北京规划网站以下属于网站的管理 更新 维护
  • 安徽省建设厅网站证书查询wordpress重写插件
  • 青岛网站关键词推广如何发布自己的html网站
  • 免费html5中文网站素材微信公众号买卖平台
  • 长治建立公司网站的步骤中山网站模板
  • 苏州企业网站公司都有哪些html 网站建设中模板
  • 怎么做黑彩黑彩网站如何通过网络推广产品
  • 网站建设 月光博客遵义做网站的网络公司
  • 网站策划图泉州大型网站建设
  • 广东网站建设价格邯郸有建网站吗哪个公司好些
  • 零食网站策划书网站建设人才调研
  • 广东建设网站推广平台有哪些平台
  • 网站建设开发ppt用dw做购票网站模板
  • 商务网站建设有哪几个步骤专业微信网站开发公司
  • 个人网站起个名字网站优化公司服务
  • 江都建设局网站动漫网站开发 sh框架
  • 自己建的网站搜不到营销型网站建设是什么意思
  • 网站兼职做计划赚小钱电商美工培训哪个学校好