横切关注点
关注点(只是一个代名词)在多个模块中都有出现
- 例:日志功能
日志功能需要穿插进每一个业务功能,所以日志就是横切整个系统对象结构的关注点
mixin 混入
概念
mixin 提供了实现特定行为的方法,但是我们不单独使用它,而是使用它来将这些行为添加到其他类中
我的理解(有问题欢迎指正)
mixin就是封装一个公共方法,在需要这个方法的类(业务)中使用
react中mixin的缺点
虽然看着也不能一下子都怼下去,呆着没事看看加深印象
别人说
(有人说mixin就是使用语言特性来实现组合模式参考,我不太懂,我要了解的不是这一点,暂时不看)
高阶组件
概念
高阶组件是参数为组件,返回值为新组件的函数(纯函数)
Redux是啥
Redux 是一个使用叫做“action”的事件来管理和更新应用状态的模式和工具库
Hook
很多种Hook组成,统称为Hooks(钩子)-(我赶脚的而已)
useState
import React, { useState } from 'react';
function Example() {
// 声明一个叫 “count” 的 state 变量。
const [count, setCount] = useState(0);
return (
<div>
<p>You clicked {count} times</p>
<button onClick={() => setCount(count + 1)}>
Click me
</button>
</div>
);
}
useEffect
function FriendStatusWithCounter(props) {
const [count, setCount] = useState(0);
useEffect(() => {
document.title = `You clicked ${count} times`;
}, [count]); // 仅在 count 更改时更新(传入第二个参数)
const [isOnline, setIsOnline] = useState(null);
useEffect(() => {
function handleStatusChange(status) {
setIsOnline(status.isOnline);
}
ChatAPI.subscribeToFriendStatus(props.friend.id, handleStatusChange);
return () => {
ChatAPI.unsubscribeFromFriendStatus(props.friend.id, handleStatusChange);
};
});
// ...
}