React(三)状态值,前端系统工程师面试宝典

在 src 下的 App.js 中引入 css 文件用到的是 import,需要注意 import 默认是引入模块,当引入文件时需要指定文件路径;

举例:动态绑定样式,调用方法使 div 的尺寸递增;

/App.css中/

.danger {

background-color: red;

width: 200px;

color: white;

border-radius: 10px;

padding: 10px;

}

.success {

background-color: green;

width: 200px;

color: white;

border-radius: 10px;

padding: 10px;

}

.warning {

background-color: orange;

width: 200px;

color: white;

border-radius: 10px;

padding: 10px;

}

//App.js中

// 动态绑定样式

import React, { Component } from “react”;

// 引入CSS文件

// import默认是引入模块,当引入文件时需要指定文件路径

import “./App.css”;

export default class App extends Component {

size = 18;

doBig() {

// 递增

this.size++;

// 通过sst刷新DOM,使页面刷新(React不会自动渲染,该语句必须写)

this.setState({});

}

render() {

return (

点击变大

{/* style的使用:内部嵌入样式 */}

style={{

color: “red”,

border: “1px solid blue”,

fontSize: this.size,

}}

Hello React!


{/* class的使用:调用其他文件的css样式 */}

前端小马

{/* 动态绑定样式 */}

22 ? "success" : "danger"}>前端小马哥

{/* 注意:调用函数时要加括号,要求立即执行;调用事件则不用加括号 */}

小马学前端

);

}

showClass() {

if (this.size < 22) return “success”;

if (this.size > 25) return “danger”;

return “warning”;

}

}

JSX 语法注释格式: {/* 注释内容 */}

三、图片的使用


在App.js中可引入远程和本地的图片;具体引入方式如下代码:

import React, { Component } from “react”;

// 导入图片

import imgURL from “./assets/2.jpg”

export default class App extends Component {

render() {

return (

{/* 远程图片资源 */}

{/* 本地图片资源 */}

{/* 图片在public目录下,直接引入 */}

{/* 图片在src/assets目录下,assets目录手动创建 */}

{/* 用法1:通过require引入(注意需要添加default后缀) */}

<img src={require(“./assets/2.jpg”).default} />

{/* 用法2:先用import导入图片,再使用 */}

);

}

}

四、双向绑定(表单元素)


如果需要获取表单输入框所收集到的信息,就要实现双向绑定;单向绑定是指将数据显示在页面组件上,双向绑定既能将程序中的变量自动同步到页面上显示,又能将页面上用户主动修改的新值自动更新回程序中的变量保存。

// 数据双向绑定

import React, { Component } from “react”;

export default class App extends Component {

state = { uname: “web前端” };

render() {

return (

<input

type=“text”

value={this.state.uname}

onChange={this._unameChanged}

/>

{this.state.uname}

{/* 如果代码较为简单,可以将事件处理方法直接到JSX语句当中(简化) */}

<input

type=“text”

value={this.state.uname}

onChange={(e) => this.setState({ uname: e.target.value })}

/>

);

}

// 组件的事件处理方法

_unameChanged = (e) => {

console.log(e);

// 获取input中的value值,修改state中的值

this.setState({ uname: e.target.value });

};

}

五、条件渲染


举例:点击加减按钮将分数属性 store 进行 +10(-10) 操作,并判断该分数满足哪种条件;

// 条件渲染

import React, { Component } from “react”;

export default class App extends Component {

score = 60;

render() {

return (

得分: {this.score}
{" "}

<button

disabled={this.score >= 100}

onClick={this._changeScore.bind(this, +10)}

加10分

<button

disabled={this.score <= 0}

onClick={this._changeScore.bind(this, -10)}

减10分

{/* 分数显示: >90 优秀 80-90 良好 >60 及格 <60 不及格 */}

{this.show()}

);

}

_changeScore(num) {

this.score += num;

console.log(this.score);

// 手动刷新DOM

this.setState({});

}

show() {

if (this.score > 90) return

优秀!
;

if (this.score <= 90 && this.score > 80) return

良好!
;

if (this.score < 60) return

不及格!
;

return

及格!
;

}

}

六、列表渲染


1.数组

举例: 将一个数组中的元素渲染为一组按钮和一组列表;

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
img

最后

中年危机是真实存在的,即便有技术傍身,还是难免对自己的生存能力产生质疑和焦虑,这些年职业发展,一直在寻求消除焦虑的依靠。

  • 技术要深入到什么程度?

  • 做久了技术总要转型管理?

  • 我能做什么,我想做什么?

  • 一技之长,就是深耕你的专业技能,你的专业技术。(重点)

  • 独立做事,当你的一技之长达到一定深度的时候,需要开始思考如何独立做事。(创业)

  • 拥有事业,选择一份使命,带领团队实现它。(创业)

一技之长分五个层次

  • 栈内技术 - 是指你的前端专业领域技术

  • 栈外技术 - 是指栈内技术的上下游,领域外的相关专业知识

  • 工程经验 - 是建设专业技术体系的“解决方案”

  • 带人做事 - 是对团队协作能力的要求

  • 业界发声 - 工作经验总结对外分享,与他人交流

永远不要放弃一技之长,它值得你长期信仰持有

CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

主要内容包括html,css,html5,css3,JavaScript,正则表达式,函数,BOM,DOM,jQuery,AJAX,vue 等等。


的一技之长达到一定深度的时候,需要开始思考如何独立做事。(创业)

  • 拥有事业,选择一份使命,带领团队实现它。(创业)

一技之长分五个层次

  • 栈内技术 - 是指你的前端专业领域技术

  • 栈外技术 - 是指栈内技术的上下游,领域外的相关专业知识

  • 工程经验 - 是建设专业技术体系的“解决方案”

  • 带人做事 - 是对团队协作能力的要求

  • 业界发声 - 工作经验总结对外分享,与他人交流

永远不要放弃一技之长,它值得你长期信仰持有

CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

主要内容包括html,css,html5,css3,JavaScript,正则表达式,函数,BOM,DOM,jQuery,AJAX,vue 等等。

  • 20
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值