blog
blog copied to clipboard
博客系列
已知高度的处理方案 ```html export default { props: { size: { type: Number, default: 0 // 每一项的高度 }, remain: { type: Number, default: 0 // 可视化区域显示多少个 }, items: { type: Array, default:...
有时候,你的 effect 可能会使用一些频繁变化的值。你可能会忽略依赖列表中 state,但这通常会引起 Bug: ```js function Counter() { const [count, setCount] = useState(0); useEffect(() => { const id = setInterval(() => { setCount(count + 1); // 这个 effect 依赖于...
> 可能是同步,也可能是异步 1. 在事件绑定中是异步的 ```js class Counter extends React.Component { constructor(props) { super(props) this.state = { count: 0 } } handleClick = () => { this.setState({ count: this.state.count + 1...
```js function Child({ onButtonClick, data }) { console.log('Child Render') return ( {data.number} ) } Child = memo(Child) function App() { const [number, setNumber] = useState(0) const [name, setName] = useState('hello')...
```js import React, { useState } from 'react'; function useFetchData(url, timeout) { const [data, setData] = useState([]); const [loading, setLoading] = useState(false) const [error, setError] = useState(false) function init() {...
```js console.log('script start') new Promise((resolve, reject) => { console.log('promise1') resolve() }).then(() => { console.log('then11') new Promise((resolve, reject) => { console.log('promise2') resolve() }).then(() => { console.log('then2-1') }).then(() => { console.log('then2-2') })...
问题描述:给定一个数组,数组里面有两个数,他们的和是target,求这两个数在数组中的位置 思路: 1. a + b = target 2. 已知 target 3. 求 a 和 b ```js function solution(nums, target) { for (let i = 0; i < nums.length; i++)...
> 题目来源:今日头条面试题 > 给出一个区间的集合,请合并所有重叠的区间。 ```js let arr = [[1,3],[2,6],[8,10],[15,18]] // [ [ 1, 6 ], [ 8, 10 ], [ 15, 18 ] ] ``` 结果 ```js function merge(intervals) {...
```js function add (num1, num2) { let result = [] let curry = 0 let i = num1.length - 1; let j = num2.length - 1; while (i >= 0...
本质上的区别是调度的地方不同 ### 观察者 目标和观察者是基类,目标提供维护观察者的一系列方法,观察者提供更新接口,在具体目标发生变化时候,调度观察者的更新方法。 ```js function Observer() { this.state = '开心' this.arr = [] } Object.prototype.attach = function (s) { this.arr.push(s) } Object.prototype.setState = function (newState) { this.state = newState...