4月11日 web学习笔记
一、前端框架入门(React)
React 基础
组件化开发:React 使用组件构建用户界面。
JSX 语法:JavaScript 和 HTML 的混合语法。
示例:
jsx
function Welcome(props) {
return
Hello, {props.name}
;}
const element =
ReactDOM.render(element, document.getElementById('root'));
状态管理
状态(State):组件内部的数据。
属性(Props):父组件传递给子组件的数据。
示例:
jsx
class Counter extends React.Component {
constructor(props) {
super(props);
this.state = { count: 0 };
}
increment = () => {
this.setState({ count: this.state.count + 1 });
}
render() {
return (
<div>
<p>计数: {this.state.count}</p>
<button onClick={this.increment}>+1</button>
</div>
);
}
}
ReactDOM.render(
生命周期方法
挂载阶段:componentDidMount。
更新阶段:componentDidUpdate。
卸载阶段:componentWillUnmount。
React Hooks
useState:在函数组件中使用状态。
useEffect:在函数组件中执行副作用操作。
示例:
jsx
import React, { useState, useEffect } from 'react';
function Counter() {
const [count, setCount] = useState(0);
useEffect(() => {
console.log('计数更新了');
}, [count]);
return (
<div>
<p>计数: {count}</p>
<button onClick={() => setCount(count + 1)}>+1</button>
</div>
);
}
export default Counter;
二、Web 性能优化
资源加载优化
懒加载(Lazy Loading):延迟加载非关键资源。
示例:
HTML
代码分割
使用 Webpack 或其他打包工具实现代码分割。
示例(React + React.lazy):
jsx
const Home = React.lazy(() => import('./Home'));
const About = React.lazy(() => import('./About'));
function App() {
return (
<React.Suspense fallback={
<Route path="/" element={
<Route path="/about" element={
</React.Suspense>
);
}
缓存策略
使用 Cache-Control 和 ETag。
服务端缓存(如 Redis)。
图片优化
使用现代图片格式(如 WebP)。
响应式图片:
HTML
浙公网安备 33010602011771号