Understanding the differences between isFetching, isLoading, and isPending is crucial for implementing effective loading states in TanStack Query (React Query) v5.
truewhen the query has no cached data yet (awaiting first successful fetch)
Understanding the differences between isFetching, isLoading, and isPending is crucial for implementing effective loading states in TanStack Query (React Query) v5.
true when the query has no cached data yet (awaiting first successful fetch)| function updateElementInRef(element, ref) { | |
| if (typeof ref === 'function') { | |
| /* | |
| The ref is a callback ref. | |
| https://reactjs.org/docs/refs-and-the-dom.html#callback-refs | |
| */ | |
| ref(element) | |
| } else if (ref) { | |
| /* | |
| The ref is an object expected to be mutated with property `current`. |
Ref:
https://developers.google.com/speed/docs/insights/OptimizeImages (Will be deprecated at May 2019) https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/image-optimization
Use:
| function getList() { | |
| const list = [1, 2, 0, 3, 4] | |
| return Promise.resolve(list) | |
| } | |
| function task() { | |
| return new Promise((resolve, reject) => { | |
| getList() | |
| .then((list) => { | |
| let hasFailure = false |
| /** | |
| * A pure version of Array.prototype.splice | |
| * It will return a new array rather than mutate the array | |
| * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice | |
| * @param {Array} array The target array | |
| * @param {number} start Index at which to start changing the array | |
| * @param {number} deleteCount An integer indicating the number of old array elements to remove | |
| * @param {any} items The elements to add to the array, beginning at the start index | |
| * @returns {Array} | |
| */ |
| import $ from 'jquery' | |
| import Util from './util' | |
| /** | |
| * -------------------------------------------------------------------------- | |
| * Bootstrap (v4.0.0): collapse.js | |
| * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | |
| * -------------------------------------------------------------------------- | |
| */ |
| 裝置解析度 | 實際可用高度 | |
|---|---|---|
| iPhone 6,7,8 | 375 x 667 | 559 |
| iPhone 6,7,8 Plus | 414 x 736 | 628 |
| iPad | 768 x 1024 | 928 |
| iPad Pro | 1024 x 1366 | 1270 |
| Set 1 | Set 2 | Set 3 | |||
|---|---|---|---|---|---|
| 1 | Enter | from previous page | animeEnter | animeEnter | animeEnterFromPrev |
| 2 | Enter | from next page | reversed animeExit | animeEnter | animeEnterFromNext |
| 3 | Exit | to next page | animeExit | animeExit | animeExitToNext |
| 4 | Exit | to previous page | reversed animeEnter | animeExit | animeExitToPrev |
| Device | Width | Height | fg object-fit | bg object-fit |
|---|---|---|---|---|
| Desktop | 1440 | 810 | cover | cover |
| Tablet | 1024 | 1024 | cover | cover |
| Mobile | 768 | 1024 | contain/cover | cover |
| import map from 'lodash.map' | |
| import React from 'react' | |
| import Viewport from './fullpage-slides-viewport' | |
| const backgroundData = [{/* slide 0 bg */}, {/* slide 2 bg */}, {/* slide 4 bg */}] | |
| const textData = [{/* slide 0 text */}, {/* slide 3 text */}, {/* slide 4 text */}] | |
| const _ = { | |
| map, | |
| } |