Translate "useMemo" by yuta-ike ยท Pull Request #643 ยท reactjs/ja.react.dev

@yuta-ike

@yuta-ike

@github-actions

Size changes

Details

๐Ÿ“ฆ Next.js Bundle Analysis for react-dev

This analysis was generated by the Next.js Bundle Analysis action. ๐Ÿค–

This PR introduced no changes to the JavaScript bundle! ๐Ÿ™Œ

smikitky

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

้…ใใชใ‚Šใพใ—ใŸใŒใ“ใกใ‚‰ใฎ็ขบ่ชใ‚’ใŠ้ก˜ใ„ใ—ใพใ™ใ€‚ใ‚ณใƒผใƒ‰ๅ†…ใฎใ‚ณใƒกใƒณใƒˆใฏ็ฟป่จณใ—ใชใ„ใ“ใจใซใ—ใฆใ„ใพใ™ใ€‚

ใพใŸใ€ๅ…ˆใซ่จ€ใฃใฆใŠใในใใ ใฃใŸใ‹ใ‚‚ใ—ใ‚Œใชใ„ใฎใงใ™ใŒใ€useCallback ใจใ‹ใชใ‚Š็ฟป่จณใŒ่ขซใฃใฆใ„ใ‚‹ใจใ“ใ‚ใŒใ‚ใ‚‹ใฎใงใ™ใŒใ€ใจใ‚Šใ‚ใˆใš็‹ฌ็ซ‹ใ—ใฆใƒฌใƒ“ใƒฅใƒผใ—ใพใ—ใŸใ€‚ใ‚†ใใ‚†ใใฏ็ตฑไธ€ใ‚’่กŒใ†ในใใ ใจใฏๆ€ใ„ใพใ™ใŒใ€ใฑใฃใจ่ฆ‹ใŸๆ„Ÿใ˜ๆ–‡ใ”ใจใซใ€Œใ“ใฎๆ–‡ใฏใ“ใฃใกใฎ่จณใฎๆ–นใŒ่‡ช็„ถใ ใชใ€ใฟใŸใ„ใชๆ„Ÿใ˜ใงใ™ใ€‚ใ‚‚ใ—ไฝ™่ฃ•ใŒใ‚ใ‚Œใฐ่ฆ‹ๆฏ”ในใฆใ„ใŸใ ใ„ใฆ็ตฑไธ€ใ‚’่ฉฆใฟใฆใ„ใŸใ ใ‘ใ‚Œใฐๅนธใ„ใงใ™๏ผˆuseCallback ๅดใฎ็ฟป่จณใซๆ‰‹ใ‚’ๅ…ฅใ‚Œใฆใ‚‚ๆง‹ใ„ใพใ›ใ‚“๏ผ‰ใ€‚

#### ๅผ•ๆ•ฐ {/*parameters*/}

* `calculateValue`: The function calculating the value that you want to cache. It should be pure, should take no arguments, and should return a value of any type. React will call your function during the initial render. On next renders, React will return the same value again if the `dependencies` have not changed since the last render. Otherwise, it will call `calculateValue`, return its result, and store it so it can be reused later.
* `calculateValue`: ใ‚ญใƒฃใƒƒใ‚ทใƒฅใ—ใŸใ„ๅ€คใ‚’่จˆ็ฎ—ใ™ใ‚‹้–ขๆ•ฐใ€‚็ด”้–ขๆ•ฐใงใ€ๅผ•ๆ•ฐใ‚’ๅ–ใ‚‰ใšใ€ไปปๆ„ใฎๅž‹ใฎๅ€คใ‚’่ฟ”ใ™ใ“ใจใŒใงใใพใ™ใ€‚React ใฏๅˆๅ›žใƒฌใƒณใƒ€ใƒผไธญใซใ“ใฎ้–ขๆ•ฐใ‚’ๅ‘ผใณๅ‡บใ—ใพใ™ใ€‚ๆฌกๅ›žไปฅ้™ใฎใƒฌใƒณใƒ€ใƒผใงใฏใ€็›ดๅ‰ใฎใƒฌใƒณใƒ€ใƒผใจ `dependencies` ใŒๅค‰ๅŒ–ใ—ใฆใ„ใชใ‘ใ‚Œใฐใ€ๅŒใ˜ๅ€คใ‚’ๅ†ๅบฆ่ฟ”ใ—ใพใ™ใ€‚`dependencies` ใŒๅค‰ๅŒ–ใ—ใฆใ„ใ‚Œใฐใ€`calculateValue` ใ‚’ๅ‘ผใณๅ‡บใ—ใฆใใฎ็ตๆžœใ‚’่ฟ”ใ—ใ€ๅŒๆ™‚ใซใ€ๅพŒใ‹ใ‚‰ๅ†ๅˆฉ็”จใ™ใ‚‹ใŸใ‚ใซใใฎ็ตๆžœใ‚’ไฟๅญ˜ใ—ใพใ™ใ€‚

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

* `calculateValue`: ใ‚ญใƒฃใƒƒใ‚ทใƒฅใ—ใŸใ„ๅ€คใ‚’่จˆ็ฎ—ใ™ใ‚‹้–ขๆ•ฐใ€‚็ด”้–ขๆ•ฐใงใ€ๅผ•ๆ•ฐใ‚’ๅ–ใ‚‰ใšใ€ไปปๆ„ใฎๅž‹ใฎๅ€คใ‚’่ฟ”ใ™ใ“ใจใŒใงใใพใ™ใ€‚React ใฏๅˆๅ›žใƒฌใƒณใƒ€ใƒผไธญใซใ“ใฎ้–ขๆ•ฐใ‚’ๅ‘ผใณๅ‡บใ—ใพใ™ใ€‚ๆฌกๅ›žไปฅ้™ใฎใƒฌใƒณใƒ€ใƒผใงใฏใ€็›ดๅ‰ใฎใƒฌใƒณใƒ€ใƒผใจ `dependencies` ใŒๅค‰ๅŒ–ใ—ใฆใ„ใชใ‘ใ‚Œใฐใ€ๅŒใ˜ๅ€คใ‚’ๅ†ๅบฆ่ฟ”ใ—ใพใ™ใ€‚`dependencies` ใŒๅค‰ๅŒ–ใ—ใฆใ„ใ‚Œใฐใ€`calculateValue` ใ‚’ๅ‘ผใณๅ‡บใ—ใฆใใฎ็ตๆžœใ‚’่ฟ”ใ—ใ€ๅŒๆ™‚ใซใ€ๅพŒใ‹ใ‚‰ๅ†ๅˆฉ็”จใ™ใ‚‹ใŸใ‚ใซใใฎ็ตๆžœใ‚’ไฟๅญ˜ใ—ใพใ™ใ€‚
* `calculateValue`: ใ‚ญใƒฃใƒƒใ‚ทใƒฅใ—ใŸใ„ๅ€คใ‚’่จˆ็ฎ—ใ™ใ‚‹้–ขๆ•ฐใ€‚็ด”้–ขๆ•ฐใงใ€ๅผ•ๆ•ฐใ‚’ๅ–ใ‚‰ใšใ€ไปปๆ„ใฎๅž‹ใฎไฝ•ใ‚‰ใ‹ใฎๅ€คใ‚’่ฟ”ใ™ๅฟ…่ฆใŒใ‚ใ‚Šใพใ™ใ€‚React ใฏๅˆๅ›žใƒฌใƒณใƒ€ใƒผไธญใซใ“ใฎ้–ขๆ•ฐใ‚’ๅ‘ผใณๅ‡บใ—ใพใ™ใ€‚ๆฌกๅ›žไปฅ้™ใฎใƒฌใƒณใƒ€ใƒผใงใฏใ€็›ดๅ‰ใฎใƒฌใƒณใƒ€ใƒผใจ `dependencies` ใŒๅค‰ๅŒ–ใ—ใฆใ„ใชใ‘ใ‚Œใฐใ€ๅŒใ˜ๅ€คใ‚’ๅ†ๅบฆ่ฟ”ใ—ใพใ™ใ€‚`dependencies` ใŒๅค‰ๅŒ–ใ—ใฆใ„ใ‚Œใฐใ€`calculateValue` ใ‚’ๅ‘ผใณๅ‡บใ—ใฆใใฎ็ตๆžœใ‚’่ฟ”ใ—ใ€ๅŒๆ™‚ใซใ€ๅพŒใ‹ใ‚‰ๅ†ๅˆฉ็”จใ™ใ‚‹ใŸใ‚ใซใใฎ็ตๆžœใ‚’ไฟๅญ˜ใ—ใพใ™ใ€‚
ๅˆๅ›žใฎใƒฌใƒณใƒ€ใƒผใงใฏใ€ๅผ•ๆ•ฐใชใ—ใง `calculateValue` ใ‚’ๅ‘ผใณๅ‡บใ—ใŸ็ตๆžœใŒใ€`useMemo` ใฎ่ฟ”ใ‚Šๅ€คใจใชใ‚Šใพใ™ใ€‚

During next renders, it will either return an already stored value from the last render (if the dependencies haven't changed), or call `calculateValue` again, and return the result that `calculateValue` has returned.
ๆฌกๅ›žไปฅ้™ใฎใƒฌใƒณใƒ€ใƒผใงใฏใ€ไพๅญ˜้–ขไฟ‚ใŒๅค‰ๅŒ–ใ—ใฆใ„ใชใ„ๅ ดๅˆใฏใ€ไปฅๅ‰ใฎใƒฌใƒณใƒ€ใƒผใงไฟๅญ˜ใ•ใ‚ŒใŸๅ€คใ‚’่ฟ”ใ—ใพใ™ใ€‚ๅค‰ๅŒ–ใ—ใฆใ„ใ‚‹ๅ ดๅˆใฏใ€`calculateValue` ใ‚’ๅ†ๅบฆๅ‘ผใณๅ‡บใ—ใ€ใใฎ็ตๆžœใ‚’ใใฎใพใพ่ฟ”ใ—ใพใ™ใ€‚

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ๆฌกๅ›žไปฅ้™ใฎใƒฌใƒณใƒ€ใƒผใงใฏใ€ไพๅญ˜้–ขไฟ‚ใŒๅค‰ๅŒ–ใ—ใฆใ„ใชใ„ๅ ดๅˆใฏใ€ไปฅๅ‰ใฎใƒฌใƒณใƒ€ใƒผใงไฟๅญ˜ใ•ใ‚ŒใŸๅ€คใ‚’่ฟ”ใ—ใพใ™ใ€‚ๅค‰ๅŒ–ใ—ใฆใ„ใ‚‹ๅ ดๅˆใฏใ€`calculateValue` ใ‚’ๅ†ๅบฆๅ‘ผใณๅ‡บใ—ใ€ใใฎ็ตๆžœใ‚’ใใฎใพใพ่ฟ”ใ—ใพใ™ใ€‚
ๆฌกๅ›žไปฅ้™ใฎใƒฌใƒณใƒ€ใƒผใงใฏใ€ไพๅญ˜้…ๅˆ—ใŒๅค‰ๅŒ–ใ—ใฆใ„ใชใ„ๅ ดๅˆใฏใ€ไปฅๅ‰ใฎใƒฌใƒณใƒ€ใƒผใงไฟๅญ˜ใ•ใ‚ŒใŸๅ€คใ‚’่ฟ”ใ—ใพใ™ใ€‚ๅค‰ๅŒ–ใ—ใฆใ„ใ‚‹ๅ ดๅˆใฏใ€`calculateValue` ใ‚’ๅ†ๅบฆๅ‘ผใณๅ‡บใ—ใ€ใใฎ็ตๆžœใ‚’ใใฎใพใพ่ฟ”ใ—ใพใ™ใ€‚
* React **will not throw away the cached value unless there is a specific reason to do that.** For example, in development, React throws away the cache when you edit the file of your component. Both in development and in production, React will throw away the cache if your component suspends during the initial mount. In the future, React may add more features that take advantage of throwing away the cache--for example, if React adds built-in support for virtualized lists in the future, it would make sense to throw away the cache for items that scroll out of the virtualized table viewport. This should be fine if you rely on `useMemo` solely as a performance optimization. Otherwise, a [state variable](/reference/react/useState#avoiding-recreating-the-initial-state) or a [ref](/reference/react/useRef#avoiding-recreating-the-ref-contents) may be more appropriate.
* `useMemo` ใฏใƒ•ใƒƒใ‚ฏใชใฎใงใ€ใ‚ซใ‚นใ‚ฟใƒ ใƒ•ใƒƒใ‚ฏใ‹**ใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใฎใƒˆใƒƒใƒ—ใƒฌใƒ™ใƒซ**ใงใ—ใ‹ๅ‘ผใณๅ‡บใ™ใ“ใจใŒใงใใพใ›ใ‚“ใ€‚ใƒซใƒผใƒ—ใ‚„ๆกไปถๅˆ†ๅฒใฎไธญใงๅ‘ผใณๅ‡บใ™ใ“ใจใฏใงใใพใ›ใ‚“ใ€‚ใ‚‚ใ—ใƒซใƒผใƒ—ใ‚„ๆกไปถๅˆ†ๅฒใฎไธญใงๅ‘ผใณๅ‡บใ—ใŸใ„ๅ ดๅˆใฏใ€ๆ–ฐใ—ใ„ใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใซๅˆ‡ใ‚Šๅ‡บใ—ใฆใ€ใใฎไธญใซ state ใ‚’็งปๅ‹•ใ•ใ›ใฆใใ ใ•ใ„ใ€‚
* Strict Mode ใงใฏใ€[็ด”็ฒ‹ใงใชใ„้–ขๆ•ฐใ‚’่ฆ‹ใคใ‘ใ‚„ใ™ใใ™ใ‚‹ใŸใ‚ใซ](#my-initializer-or-updater-function-runs-twice)ใ€**่จˆ็ฎ—้–ขๆ•ฐ (`calculateValue`) ใŒ 2 ๅบฆๅ‘ผใณๅ‡บใ•ใ‚Œใพใ™**ใ€‚ใ“ใ‚Œใฏใ€้–‹็™บๆ™‚ใฎใฟใฎๆŒ™ๅ‹•ใงใ€ๆœฌ็•ชใงใฏๅฝฑ้ŸฟใฏไธŽใˆใพใ›ใ‚“ใ€‚ใ‚‚ใ—ใ€่จˆ็ฎ—้–ขๆ•ฐใŒ็ด”็ฒ‹ใงใ‚ใ‚Œใฐ๏ผˆ็ด”็ฒ‹ใงใ‚ใ‚‹ในใใงใ™๏ผ‰ใ€2 ๅ›žๅ‘ผใณๅ‡บใ•ใ‚Œใฆใ‚‚ใ‚ณใƒผใƒ‰ใซๅฝฑ้Ÿฟใฏใ‚ใ‚Šใพใ›ใ‚“ใ€‚2 ๅ›žใฎๅ‘ผใณๅ‡บใ—ใฎใ†ใกใ€ไธ€ๆ–นใฎๅ‘ผใณๅ‡บใ—็ตๆžœใฏ็„ก่ฆ–ใ•ใ‚Œใพใ™ใ€‚
* ็‰นๅˆฅใช็†็”ฑใŒใชใ„้™ใ‚Šใ€ใ‚ญใƒฃใƒƒใ‚ทใƒฅๅ€คใŒ็ ดๆฃ„ใ•ใ‚Œใ‚‹ใ“ใจใฏใ‚ใ‚Šใพใ›ใ‚“ใ€‚็ ดๆฃ„ใ•ใ‚Œใ‚‹ใ‚ฑใƒผใ‚นใฏใ€ไพ‹ใˆใฐใ€้–‹็™บๆ™‚ใซใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใฎใƒ•ใ‚กใ‚คใƒซใ‚’็ทจ้›†ใ™ใ‚‹ใจใ€ใ‚ญใƒฃใƒƒใ‚ทใƒฅใŒ็ ดๆฃ„ใ•ใ‚Œใพใ™ใ€‚ใพใŸใ€้–‹็™บๆ™‚ใŠใ‚ˆใณๆœฌ็•ชๆ™‚ใซใ€ๅˆๅ›žใƒžใ‚ฆใƒณใƒˆไธญใซใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใŒใ‚ตใ‚นใƒšใƒณใƒ‰ใ™ใ‚‹ใจใ€ใ‚ญใƒฃใƒƒใ‚ทใƒฅใฏ็ ดๆฃ„ใ•ใ‚Œใพใ™ใ€‚ๅฐ†ๆฅ็š„ใซใฏใ€ใ‚ญใƒฃใƒƒใ‚ทใƒฅใŒ็ ดๆฃ„ใ•ใ‚Œใ‚‹ใ“ใจใ‚’ๅ‰ๆใจใ—ใŸๆฉŸ่ƒฝใŒ React ใซ่ฟฝๅŠ ใ•ใ‚Œใ‚‹ๅฏ่ƒฝๆ€งใŒใ‚ใ‚Šใพใ™ใ€‚ไพ‹ใˆใฐใ€ๅฐ†ๆฅ็š„ใซไปฎๆƒณใƒชใ‚นใƒˆใŒ็ต„ใฟ่พผใฟใงใ‚ตใƒใƒผใƒˆใ•ใ‚ŒใŸๅ ดๅˆใ€ไปฎๆƒณใƒ†ใƒผใƒ–ใƒซใฎใƒ“ใƒฅใƒผใƒใƒผใƒˆใ‹ใ‚‰ใ‚นใ‚ฏใƒญใƒผใƒซใ‚ขใ‚ฆใƒˆใ—ใŸ้ …็›ฎใฏใ€ใ‚ญใƒฃใƒƒใ‚ทใƒฅใ‚’็ ดๆฃ„ใ™ใ‚‹ใ‚ˆใ†ใซใชใ‚‹ใ‹ใ‚‚ใ—ใ‚Œใพใ›ใ‚“ใ€‚ใ“ใฎใ‚ˆใ†ใชๆŒ™ๅ‹•ใฏใ€ใƒ‘ใƒ•ใ‚ฉใƒผใƒžใƒณใ‚นๆœ€้ฉๅŒ–ใฎใฟใ‚’็›ฎ็š„ใจใ—ใฆ `useMemo` ใ‚’ไฝฟใฃใฆใ„ใ‚‹ๅ ดๅˆใซใฏๅ•้กŒใ‚ใ‚Šใพใ›ใ‚“ใ€‚ใ—ใ‹ใ—ใ€ไป–ใฎ็›ฎ็š„ใงๅˆฉ็”จใ—ใฆใ„ใ‚‹ๅ ดๅˆใฏใ€[state ๅค‰ๆ•ฐ](/reference/react/useState#avoiding-recreating-the-initial-state) ใ‚„ [ref](/reference/react/useRef#avoiding-recreating-the-ref-contents) ใ‚’ๅˆฉ็”จใ—ใŸๆ–นใŒ่‰ฏใ„ใ‹ใ‚‚ใ—ใ‚Œใพใ›ใ‚“ใ€‚

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

* ็‰นๅˆฅใช็†็”ฑใŒใชใ„้™ใ‚Šใ€ใ‚ญใƒฃใƒƒใ‚ทใƒฅๅ€คใŒ็ ดๆฃ„ใ•ใ‚Œใ‚‹ใ“ใจใฏใ‚ใ‚Šใพใ›ใ‚“ใ€‚็ ดๆฃ„ใ•ใ‚Œใ‚‹ใ‚ฑใƒผใ‚นใฏใ€ไพ‹ใˆใฐใ€้–‹็™บๆ™‚ใซใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใฎใƒ•ใ‚กใ‚คใƒซใ‚’็ทจ้›†ใ™ใ‚‹ใจใ€ใ‚ญใƒฃใƒƒใ‚ทใƒฅใŒ็ ดๆฃ„ใ•ใ‚Œใพใ™ใ€‚ใพใŸใ€้–‹็™บๆ™‚ใŠใ‚ˆใณๆœฌ็•ชๆ™‚ใซใ€ๅˆๅ›žใƒžใ‚ฆใƒณใƒˆไธญใซใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใŒใ‚ตใ‚นใƒšใƒณใƒ‰ใ™ใ‚‹ใจใ€ใ‚ญใƒฃใƒƒใ‚ทใƒฅใฏ็ ดๆฃ„ใ•ใ‚Œใพใ™ใ€‚ๅฐ†ๆฅ็š„ใซใฏใ€ใ‚ญใƒฃใƒƒใ‚ทใƒฅใŒ็ ดๆฃ„ใ•ใ‚Œใ‚‹ใ“ใจใ‚’ๅ‰ๆใจใ—ใŸๆฉŸ่ƒฝใŒ React ใซ่ฟฝๅŠ ใ•ใ‚Œใ‚‹ๅฏ่ƒฝๆ€งใŒใ‚ใ‚Šใพใ™ใ€‚ไพ‹ใˆใฐใ€ๅฐ†ๆฅ็š„ใซไปฎๆƒณใƒชใ‚นใƒˆใŒ็ต„ใฟ่พผใฟใงใ‚ตใƒใƒผใƒˆใ•ใ‚ŒใŸๅ ดๅˆใ€ไปฎๆƒณใƒ†ใƒผใƒ–ใƒซใฎใƒ“ใƒฅใƒผใƒใƒผใƒˆใ‹ใ‚‰ใ‚นใ‚ฏใƒญใƒผใƒซใ‚ขใ‚ฆใƒˆใ—ใŸ้ …็›ฎใฏใ€ใ‚ญใƒฃใƒƒใ‚ทใƒฅใ‚’็ ดๆฃ„ใ™ใ‚‹ใ‚ˆใ†ใซใชใ‚‹ใ‹ใ‚‚ใ—ใ‚Œใพใ›ใ‚“ใ€‚ใ“ใฎใ‚ˆใ†ใชๆŒ™ๅ‹•ใฏใ€ใƒ‘ใƒ•ใ‚ฉใƒผใƒžใƒณใ‚นๆœ€้ฉๅŒ–ใฎใฟใ‚’็›ฎ็š„ใจใ—ใฆ `useMemo` ใ‚’ไฝฟใฃใฆใ„ใ‚‹ๅ ดๅˆใซใฏๅ•้กŒใ‚ใ‚Šใพใ›ใ‚“ใ€‚ใ—ใ‹ใ—ใ€ไป–ใฎ็›ฎ็š„ใงๅˆฉ็”จใ—ใฆใ„ใ‚‹ๅ ดๅˆใฏใ€[state ๅค‰ๆ•ฐ](/reference/react/useState#avoiding-recreating-the-initial-state) ใ‚„ [ref](/reference/react/useRef#avoiding-recreating-the-ref-contents) ใ‚’ๅˆฉ็”จใ—ใŸๆ–นใŒ่‰ฏใ„ใ‹ใ‚‚ใ—ใ‚Œใพใ›ใ‚“ใ€‚
* **็‰นๅˆฅใช็†็”ฑใŒใชใ„้™ใ‚Šใ€ใ‚ญใƒฃใƒƒใ‚ทใƒฅใ•ใ‚ŒใŸๅ€คใŒ็ ดๆฃ„ใ•ใ‚Œใ‚‹ใ“ใจใฏใ‚ใ‚Šใพใ›ใ‚“**ใ€‚ใ‚ญใƒฃใƒƒใ‚ทใƒฅใŒ็ ดๆฃ„ใ•ใ‚Œใ‚‹ใ‚ฑใƒผใ‚นใฎไพ‹ใจใ—ใฆใฏใ€้–‹็™บๆ™‚ใซใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใฎใƒ•ใ‚กใ‚คใƒซใ‚’็ทจ้›†ใ—ใŸๅ ดๅˆใŒใ‚ใ‚Šใพใ™ใ€‚ใพใŸใ€้–‹็™บๆ™‚ใŠใ‚ˆใณๆœฌ็•ชๆ™‚ใซใ€ๅˆๅ›žใƒžใ‚ฆใƒณใƒˆไธญใซใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใŒใ‚ตใ‚นใƒšใƒณใƒ‰ใ™ใ‚‹ใจใ€ใ‚ญใƒฃใƒƒใ‚ทใƒฅใฏ็ ดๆฃ„ใ•ใ‚Œใพใ™ใ€‚ๅฐ†ๆฅ็š„ใซใฏใ€ใ‚ญใƒฃใƒƒใ‚ทใƒฅใŒ็ ดๆฃ„ใ•ใ‚Œใ‚‹ใ“ใจใ‚’ๅ‰ๆใจใ—ใŸๆฉŸ่ƒฝใŒ React ใซ่ฟฝๅŠ ใ•ใ‚Œใ‚‹ๅฏ่ƒฝๆ€งใŒใ‚ใ‚Šใพใ™ใ€‚ไพ‹ใˆใฐใ€ๅฐ†ๆฅ็š„ใซไปฎๆƒณใƒชใ‚นใƒˆใŒ็ต„ใฟ่พผใฟใงใ‚ตใƒใƒผใƒˆใ•ใ‚ŒใŸๅ ดๅˆใ€ไปฎๆƒณใƒ†ใƒผใƒ–ใƒซใฎใƒ“ใƒฅใƒผใƒใƒผใƒˆใ‹ใ‚‰ใ‚นใ‚ฏใƒญใƒผใƒซใ‚ขใ‚ฆใƒˆใ—ใŸ้ …็›ฎใฏใ€ใ‚ญใƒฃใƒƒใ‚ทใƒฅใ‚’็ ดๆฃ„ใ™ใ‚‹ใ‚ˆใ†ใซใชใ‚‹ใ‹ใ‚‚ใ—ใ‚Œใพใ›ใ‚“ใ€‚ใ“ใฎใ‚ˆใ†ใชๆŒ™ๅ‹•ใฏใ€ใƒ‘ใƒ•ใ‚ฉใƒผใƒžใƒณใ‚นๆœ€้ฉๅŒ–ใฎใฟใ‚’็›ฎ็š„ใจใ—ใฆ `useMemo` ใ‚’ไฝฟใฃใฆใ„ใ‚‹ๅ ดๅˆใซใฏๅ•้กŒใ‚ใ‚Šใพใ›ใ‚“ใ€‚ใ—ใ‹ใ—ใ€ไป–ใฎ็›ฎ็š„ใงๅˆฉ็”จใ—ใฆใ„ใ‚‹ๅ ดๅˆใฏใ€[state ๅค‰ๆ•ฐ](/reference/react/useState#avoiding-recreating-the-initial-state) ใ‚„ [ref](/reference/react/useRef#avoiding-recreating-the-ref-contents) ใ‚’ๅˆฉ็”จใ—ใŸๆ–นใŒ่‰ฏใ„ใ‹ใ‚‚ใ—ใ‚Œใพใ›ใ‚“ใ€‚
<Note>

Caching return values like this is also known as [*memoization*,](https://en.wikipedia.org/wiki/Memoization) which is why this Hook is called `useMemo`.
ใ“ใฎใ‚ˆใ†ใซ่ฟ”ใ‚Šๅ€คใ‚’ใ‚ญใƒฃใƒƒใ‚ทใƒฅใ™ใ‚‹ใ“ใจใฏใ€[*memoization ๏ผˆใƒกใƒขๅŒ–๏ผ‰*](https://en.wikipedia.org/wiki/Memoization) ใจใ—ใฆ็Ÿฅใ‚‰ใ‚Œใฆใ„ใพใ™ใ€‚ใใฎใŸใ‚ใ€ใ“ใฎใƒ•ใƒƒใ‚ฏใฏ `useMemo` ใจๅ‘ผใฐใ‚Œใฆใ„ใพใ™ใ€‚

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ใ“ใฎใ‚ˆใ†ใซ่ฟ”ใ‚Šๅ€คใ‚’ใ‚ญใƒฃใƒƒใ‚ทใƒฅใ™ใ‚‹ใ“ใจใฏใ€[*memoization ๏ผˆใƒกใƒขๅŒ–๏ผ‰*](https://en.wikipedia.org/wiki/Memoization) ใจใ—ใฆ็Ÿฅใ‚‰ใ‚Œใฆใ„ใพใ™ใ€‚ใใฎใŸใ‚ใ€ใ“ใฎใƒ•ใƒƒใ‚ฏใฏ `useMemo` ใจๅ‘ผใฐใ‚Œใฆใ„ใพใ™ใ€‚
ใ“ใฎใ‚ˆใ†ใช่ฟ”ใ‚Šๅ€คใฎใ‚ญใƒฃใƒƒใ‚ทใƒฅใฏใ€[*ใƒกใƒขๅŒ– (memoization)*](https://en.wikipedia.org/wiki/Memoization) ใจใ—ใฆ็Ÿฅใ‚‰ใ‚ŒใฆใŠใ‚Šใ€ใใ‚ŒใŒใ“ใฎใƒ•ใƒƒใ‚ฏใŒ `useMemo` ใจใ„ใ†ๅๅ‰ใงใ‚ใ‚‹็†็”ฑใงใ™ใ€‚

Comment on lines +82 to +83

1. `() =>` ใฎใ‚ˆใ†ใซใ€ๅผ•ๆ•ฐใ‚’ๅ–ใ‚‰ใšใ€ๆฑ‚ใ‚ใŸใ„่จˆ็ฎ—็ตๆžœใ‚’่ฟ”ใ™<CodeStep step={1}>่จˆ็ฎ—้–ขๆ•ฐ</CodeStep>
2. ใ‚ณใƒณใƒใƒผใƒใƒณใƒˆๅ†…ใซใ‚ใ‚‹ๅ€คใฎใ†ใกใ€่จˆ็ฎ—้–ขๆ•ฐๅ†…ใงไฝฟ็”จใ•ใ‚Œใฆใ„ใ‚‹ใ™ในใฆใฎๅ€คใ‚’ๅซใ‚€ใ€<CodeStep step={2}>ไพๅญ˜้…ๅˆ—</CodeStep>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1. `() =>` ใฎใ‚ˆใ†ใซใ€ๅผ•ๆ•ฐใ‚’ๅ–ใ‚‰ใšใ€ๆฑ‚ใ‚ใŸใ„่จˆ็ฎ—็ตๆžœใ‚’่ฟ”ใ™<CodeStep step={1}>่จˆ็ฎ—้–ขๆ•ฐ</CodeStep>
2. ใ‚ณใƒณใƒใƒผใƒใƒณใƒˆๅ†…ใซใ‚ใ‚‹ๅ€คใฎใ†ใกใ€่จˆ็ฎ—้–ขๆ•ฐๅ†…ใงไฝฟ็”จใ•ใ‚Œใฆใ„ใ‚‹ใ™ในใฆใฎๅ€คใ‚’ๅซใ‚€ใ€<CodeStep step={2}>ไพๅญ˜้…ๅˆ—</CodeStep>
1. `() =>` ใฎใ‚ˆใ†ใซใ€ๅผ•ๆ•ฐใ‚’ๅ–ใ‚‰ใšใ€ๆฑ‚ใ‚ใŸใ„่จˆ็ฎ—็ตๆžœใ‚’่ฟ”ใ™<CodeStep step={1}>่จˆ็ฎ—้–ขๆ•ฐ</CodeStep>ใ€‚
2. ใ‚ณใƒณใƒใƒผใƒใƒณใƒˆๅ†…ใซใ‚ใ‚‹ๅ€คใฎใ†ใกใ€่จˆ็ฎ—้–ขๆ•ฐๅ†…ใงไฝฟ็”จใ•ใ‚Œใฆใ„ใ‚‹ใ™ในใฆใฎๅ€คใ‚’ๅซใ‚€ใ€<CodeStep step={2}>ไพๅญ˜้…ๅˆ—</CodeStep>ใ€‚
```

Read [keeping components pure](/learn/keeping-components-pure) to learn more about purity.
็ด”็ฒ‹ๆ€งใซใคใ„ใฆ่ฉณใ—ใ็Ÿฅใ‚‹ใซใฏใ€[ใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใ‚’็ด”็ฒ‹ใซไฟใค](/learn/keeping-components-pure)ใ‚’ๅ‚็…งใ—ใฆใใ ใ•ใ„ใ€‚

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

็ด”็ฒ‹ๆ€งใซใคใ„ใฆ่ฉณใ—ใ็Ÿฅใ‚‹ใซใฏใ€[ใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใ‚’็ด”็ฒ‹ใซไฟใค](/learn/keeping-components-pure)ใ‚’ๅ‚็…งใ—ใฆใใ ใ•ใ„ใ€‚
็ด”้–ขๆ•ฐใซใคใ„ใฆ่ฉณใ—ใ็Ÿฅใ‚‹ใซใฏใ€[ใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใ‚’็ด”็ฒ‹ใซไฟใค](/learn/keeping-components-pure)ใ‚’ๅ‚็…งใ—ใฆใใ ใ•ใ„ใ€‚

็›ด่จณใงใฏใชใ„ใงใ™ใŒโ€ฆ

---

### Every time my component renders, the calculation in `useMemo` re-runs {/*every-time-my-component-renders-the-calculation-in-usememo-re-runs*/}
### ใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใŒใƒฌใƒณใƒ€ใƒผใ•ใ‚Œใ‚‹ใŸใณใซใ€`useMemo` ๅ†…ใฎ้–ขๆ•ฐใŒๅ†ๅฎŸ่กŒใ•ใ‚Œใ‚‹ {/*every-time-my-component-renders-the-calculation-in-usememo-re-runs*/}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

### ใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใŒใƒฌใƒณใƒ€ใƒผใ•ใ‚Œใ‚‹ใŸใณใซใ€`useMemo` ๅ†…ใฎ้–ขๆ•ฐใŒๅ†ๅฎŸ่กŒใ•ใ‚Œใ‚‹ {/*every-time-my-component-renders-the-calculation-in-usememo-re-runs*/}
### ใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใŒใƒฌใƒณใƒ€ใƒผใ•ใ‚Œใ‚‹ใŸใณใซ `useMemo` ๅ†…ใฎ้–ขๆ•ฐใŒๅ†ๅฎŸ่กŒใ•ใ‚Œใ‚‹ {/*every-time-my-component-renders-the-calculation-in-usememo-re-runs*/}
```

Alternatively, you could remove `useMemo` and instead wrap `Report` itself in [`memo`.](/reference/react/memo) If the `item` prop does not change, `Report` will skip re-rendering, so `Chart` will skip re-rendering too:
ใ‚ใ‚‹ใ„ใฏใ€`useMemo` ใ‚’ๅ‰Š้™คใ—ใ€`Report` ่‡ชไฝ“ใ‚’ [`memo`](/reference/react/memo) ใงใƒฉใƒƒใƒ—ใ™ใ‚‹ใ“ใจใงใ‚‚่งฃๆฑบใงใใพใ™ใ€‚`item` props ใŒๅค‰ๅŒ–ใ—ใชใ„ๅ ดๅˆใฏใ€`Report` ใฎๅ†ใƒฌใƒณใƒ€ใƒผใฏใ‚นใ‚ญใƒƒใƒ—ใ•ใ‚Œใ€`Chart` ใฎๅ†ใƒฌใƒณใƒ€ใƒผใ‚‚ใ‚นใ‚ญใƒƒใƒ—ใ•ใ‚Œใพใ™ใ€‚

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ใ‚ใ‚‹ใ„ใฏใ€`useMemo` ใ‚’ๅ‰Š้™คใ—ใ€`Report` ่‡ชไฝ“ใ‚’ [`memo`](/reference/react/memo) ใงใƒฉใƒƒใƒ—ใ™ใ‚‹ใ“ใจใงใ‚‚่งฃๆฑบใงใใพใ™ใ€‚`item` props ใŒๅค‰ๅŒ–ใ—ใชใ„ๅ ดๅˆใฏใ€`Report` ใฎๅ†ใƒฌใƒณใƒ€ใƒผใฏใ‚นใ‚ญใƒƒใƒ—ใ•ใ‚Œใ€`Chart` ใฎๅ†ใƒฌใƒณใƒ€ใƒผใ‚‚ใ‚นใ‚ญใƒƒใƒ—ใ•ใ‚Œใพใ™ใ€‚
ใ‚ใ‚‹ใ„ใฏใ€`useMemo` ใ‚’ๅ‰Š้™คใ—ใ€`Report` ่‡ชไฝ“ใ‚’ [`memo`](/reference/react/memo) ใงใƒฉใƒƒใƒ—ใ™ใ‚‹ใ“ใจใงใ‚‚่งฃๆฑบใงใใพใ™ใ€‚`item` ใŒๅค‰ๅŒ–ใ—ใชใ„ๅ ดๅˆใฏใ€`Report` ใฎๅ†ใƒฌใƒณใƒ€ใƒผใฏใ‚นใ‚ญใƒƒใƒ—ใ•ใ‚Œใ€`Chart` ใฎๅ†ใƒฌใƒณใƒ€ใƒผใ‚‚ใ‚นใ‚ญใƒƒใƒ—ใ•ใ‚Œใพใ™ใ€‚
1. ใ‚ใ‚‹ใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใŒไป–ใฎใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใ‚’่ฆ–่ฆš็š„ใซใƒฉใƒƒใƒ—ใ™ใ‚‹ๅ ดๅˆใฏใ€[JSX ใ‚’ๅญ่ฆ็ด ใจใ—ใฆๅ—ใ‘ๅ–ใ‚‹ใ‚ˆใ†ใซใ—ใฆใใ ใ•ใ„ใ€‚](/learn/passing-props-to-a-component#passing-jsx-as-children)ใ“ใฎใ‚ˆใ†ใซใ™ใ‚‹ใ“ใจใงใ€ใƒฉใƒƒใƒ‘ใƒผใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใŒ่‡ช่บซใฎ state ใ‚’ๆ›ดๆ–ฐใ—ใŸใจใใงใ‚‚ใ€ๅญ่ฆ็ด ใ‚’ๅ†ใƒฌใƒณใƒ€ใƒผใ™ใ‚‹ๅฟ…่ฆใŒใชใ„ใจ React ใŒๅˆคๆ–ญใงใใพใ™ใ€‚
1. ใƒญใƒผใ‚ซใƒซใช state ใ‚’ๅˆฉ็”จใ—ใ€ๅฟ…่ฆไปฅไธŠใซ [state ใ‚’ใƒชใƒ•ใƒˆใ‚ขใƒƒใƒ—ใ™ใ‚‹](/learn/sharing-state-between-components)ใ“ใจใฏ้ฟใ‘ใฆใใ ใ•ใ„ใ€‚ไพ‹ใˆใฐใ€ใƒ•ใ‚ฉใƒผใƒ ใ‚„ใ€ใ€Œใ‚ขใ‚คใƒ†ใƒ ใŒใƒ›ใƒใƒผใ•ใ‚Œใฆใ„ใ‚‹ใ‹ใฉใ†ใ‹ใ€ใฎใ‚ˆใ†ใชไธ€ๆ™‚็š„ใช state ใฏใ€ใƒ„ใƒชใƒผใฎใƒˆใƒƒใƒ—ใƒฌใƒ™ใƒซใ‚„ใ‚ฐใƒญใƒผใƒใƒซใช state ใƒฉใ‚คใƒ–ใƒฉใƒชใซไฟๆŒใ—ใชใ„ใ‚ˆใ†ใซใ—ใฆใใ ใ•ใ„ใ€‚
1. ใƒฌใƒณใƒ€ใƒผใƒญใ‚ธใƒƒใ‚ฏใ‚’[็ด”็ฒ‹ใซไฟใค](/learn/keeping-components-pure)ใ‚ˆใ†ใซใ—ใฆใใ ใ•ใ„ใ€‚ใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใฎๅ†ใƒฌใƒณใƒ€ใƒผใซใ‚ˆใฃใฆใ€ไฝ•ใ‹ๅ•้กŒใŒ่ตทใใŸใ‚Šใ€็›ฎใซ่ฆ‹ใˆใ‚‹ใƒ“ใ‚ธใƒฅใ‚ขใƒซใฎๅ•้กŒใŒๅผ•ใ่ตทใ“ใ•ใ‚ŒใŸใ‚Šใ™ใ‚‹ๅ ดๅˆใ€ใใ‚Œใฏใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใฎใƒใ‚ฐใงใ™๏ผ ใƒกใƒขๅŒ–ใ‚’ใ™ใ‚‹ใฎใงใฏใชใใ€ใƒใ‚ฐใ‚’ไฟฎๆญฃใ—ใฆใใ ใ•ใ„ใ€‚
1. [state ใ‚’ๆ›ดๆ–ฐใ™ใ‚‹ไธ่ฆใชใ‚จใƒ•ใ‚งใ‚ฏใƒˆ](/learn/you-might-not-need-an-effect)ใ‚’้ฟใ‘ใฆใใ ใ•ใ„ใ€‚React ใ‚ขใƒ—ใƒชใฎใƒ‘ใƒ•ใ‚ฉใƒผใƒžใƒณใ‚นๅ•้กŒใฎใปใจใ‚“ใฉใฏใ€ใ‚จใƒ•ใ‚งใ‚ฏใƒˆใ‹ใ‚‰็™บ็”Ÿใ™ใ‚‹ๆ›ดๆ–ฐใฎ้€ฃ้Ž–ใซใ‚ˆใฃใฆๅผ•ใ่ตทใ“ใ•ใ‚Œใพใ™ใ€‚ใ“ใฎ้€ฃ้Ž–ใซใ‚ˆใฃใฆใ€ใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใ‚’ไฝ•ๅบฆใ‚‚็นฐใ‚Š่ฟ”ใ—ใƒฌใƒณใƒ€ใƒผใ•ใ›ใฆใ—ใพใ†ใฎใงใ™ใ€‚

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1. [state ใ‚’ๆ›ดๆ–ฐใ™ใ‚‹ไธ่ฆใชใ‚จใƒ•ใ‚งใ‚ฏใƒˆ](/learn/you-might-not-need-an-effect)ใ‚’้ฟใ‘ใฆใใ ใ•ใ„ใ€‚React ใ‚ขใƒ—ใƒชใฎใƒ‘ใƒ•ใ‚ฉใƒผใƒžใƒณใ‚นๅ•้กŒใฎใปใจใ‚“ใฉใฏใ€ใ‚จใƒ•ใ‚งใ‚ฏใƒˆใ‹ใ‚‰็™บ็”Ÿใ™ใ‚‹ๆ›ดๆ–ฐใฎ้€ฃ้Ž–ใซใ‚ˆใฃใฆๅผ•ใ่ตทใ“ใ•ใ‚Œใพใ™ใ€‚ใ“ใฎ้€ฃ้Ž–ใซใ‚ˆใฃใฆใ€ใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใ‚’ไฝ•ๅบฆใ‚‚็นฐใ‚Š่ฟ”ใ—ใƒฌใƒณใƒ€ใƒผใ•ใ›ใฆใ—ใพใ†ใฎใงใ™ใ€‚
1. [state ใ‚’ๆ›ดๆ–ฐใ™ใ‚‹ไธ่ฆใชใ‚จใƒ•ใ‚งใ‚ฏใƒˆ](/learn/you-might-not-need-an-effect)ใ‚’้ฟใ‘ใฆใใ ใ•ใ„ใ€‚React ใ‚ขใƒ—ใƒชใฎใƒ‘ใƒ•ใ‚ฉใƒผใƒžใƒณใ‚นๅ•้กŒใฎใปใจใ‚“ใฉใฏใ€ใ‚จใƒ•ใ‚งใ‚ฏใƒˆๅ†…ใงใฎ้€ฃ้Ž–็š„ใช state ๆ›ดๆ–ฐใซใ‚ˆใฃใฆใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใฎใƒฌใƒณใƒ€ใƒผใŒไฝ•ๅบฆใ‚‚ๅผ•ใ่ตทใ“ใ•ใ‚Œใ‚‹ใŸใ‚ใซ็”Ÿใ˜ใพใ™ใ€‚
#### ๆฏŽๅ›žใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใ‚’ๅ†ใƒฌใƒณใƒ€ใƒผใ™ใ‚‹ {/*always-re-rendering-a-component*/}

In this example, the `List` implementation is also **artificially slowed down** so that you can see what happens when some React component you're rendering is genuinely slow. Try switching the tabs and toggling the theme.
ใ“ใฎไพ‹ใงใ‚‚ใ€`List` ใฎๅฎŸ่ฃ…ใซใฏ**ใ‚ใˆใฆ้…ๅปถใŒๅ…ฅใฃใฆใ„ใพใ™**ใ€‚ใใฎใŸใ‚ใ€ใƒฌใƒณใƒ€ใƒผไธญใซๅ‘ผใณๅ‡บใ—ใฆใ„ใ‚‹ React ใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใŒ่‘—ใ—ใ้…ใ„ๅ ดๅˆใฎๆŒ™ๅ‹•ใ‚’็ขบ่ชใงใใพใ™ใ€‚ใ‚ฟใƒ–ใ‚’ๅค‰ๆ›ดใ—ใŸใ‚Šใ€ใƒ†ใƒผใƒžใ‚’ๅˆ‡ใ‚Šๆ›ฟใˆใŸใ‚Šใ—ใฆใฟใฆใใ ใ•ใ„ใ€‚

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ใ“ใฎไพ‹ใงใ‚‚ใ€`List` ใฎๅฎŸ่ฃ…ใซใฏ**ใ‚ใˆใฆ้…ๅปถใŒๅ…ฅใฃใฆใ„ใพใ™**ใ€‚ใใฎใŸใ‚ใ€ใƒฌใƒณใƒ€ใƒผไธญใซๅ‘ผใณๅ‡บใ—ใฆใ„ใ‚‹ React ใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใŒ่‘—ใ—ใ้…ใ„ๅ ดๅˆใฎๆŒ™ๅ‹•ใ‚’็ขบ่ชใงใใพใ™ใ€‚ใ‚ฟใƒ–ใ‚’ๅค‰ๆ›ดใ—ใŸใ‚Šใ€ใƒ†ใƒผใƒžใ‚’ๅˆ‡ใ‚Šๆ›ฟใˆใŸใ‚Šใ—ใฆใฟใฆใใ ใ•ใ„ใ€‚
ใ“ใฎไพ‹ใงใ‚‚ใ€`List` ใฎๅฎŸ่ฃ…ใซใฏ**ไบบ็‚บ็š„ใช้…ๅปถใŒๅ…ฅใฃใฆใ„ใพใ™**ใ€‚ใใฎใŸใ‚ใ€ใƒฌใƒณใƒ€ใƒผไธญใซๅ‘ผใณๅ‡บใ—ใฆใ„ใ‚‹ React ใ‚ณใƒณใƒใƒผใƒใƒณใƒˆใŒ่‘—ใ—ใ้…ใ„ๅ ดๅˆใฎๆŒ™ๅ‹•ใ‚’็ขบ่ชใงใใพใ™ใ€‚ใ‚ฟใƒ–ใ‚’ๅค‰ๆ›ดใ—ใŸใ‚Šใ€ใƒ†ใƒผใƒžใ‚’ๅˆ‡ใ‚Šๆ›ฟใˆใŸใ‚Šใ—ใฆใฟใฆใใ ใ•ใ„ใ€‚

@smikitky

@yuta-ike ใ“ใกใ‚‰ๅฏพๅฟœ้ก˜ใˆใพใ™ใงใ—ใ‚‡ใ†ใ‹ใ€‚ๆ™‚้–“ใŒๅŽณใ—ใ„ใ‚ˆใ†ใงใ—ใŸใ‚‰ไปฐใฃใฆใ„ใŸใ ใ‘ใ‚Œใฐใ€ใ“ใฎใพใพใ“ใกใ‚‰ใงๅผ•ใ็ถ™ใใ“ใจใ‚‚ๅฏ่ƒฝใงใ™ใ€‚

@smikitky

@yuta-ike ไธป่ฆ่จ˜ไบ‹ใง็ฟป่จณๆœชๅฎŒไบ†ใŒใ“ใ‚ŒใฎใฟใจใชใฃใฆใŠใ‚Šใ€ใ“ใ‚ŒใŒๅฎŒไบ†ใ—ใชใ„ใจใ‚ตใ‚คใƒˆๅ…จไฝ“ใŒGoogleๆคœ็ดขใงใฒใฃใ‹ใ‹ใ‚‰ใชใ„ใจใ„ใ†ๆฎ‹ๅฟตใชใ“ใจใซใชใฃใฆใ„ใพใ™ใ€‚

  • ใใกใ‚‰ใง้€Ÿใ‚„ใ‹ใซใƒฌใƒ“ใƒฅใƒผใ‚ณใƒกใƒณใƒˆใซๅฏพๅฟœใ—ใฆใ„ใŸใ ใ
  • suggestion ใ‚’ใ“ใกใ‚‰ใง้ฉ็”จใ—ใฆใ“ใฎใพใพ้€ฒใ‚ใ‚‹
  • ใ“ใฎ PR ใ‚’ close ใ—ใฆใ“ใกใ‚‰ใงใ‚„ใ‚Š็›ดใ™

ใ„ใšใ‚Œใงใ‚‚ๆง‹ใ„ใพใ›ใ‚“ใฎใงๅˆคๆ–ญใ‚’ใŠ้ก˜ใ„ใ—ใพใ™ใ€‚

@yuta-ike

@smikitky ็”ณใ—่จณใ”ใ–ใ„ใพใ›ใ‚“๏ผๅฎŒๅ…จใซๅคฑๅฟตใ—ใฆใŠใ‚Šใพใ—ใŸใ€‚ไปŠไฟฎๆญฃใซๅ–ใ‚ŠๆŽ›ใ‹ใ‚Šใพใ™ใ€‚ใ”่ฟทๆƒ‘ใŠใ‹ใ‘ใ—ใฆใ™ใฟใพใ›ใ‚“

@yuta-ike

@yuta-ike

@yuta-ike

smikitky

@smikitky

smikitky

@smikitky

ใ‚ใ‚ŠใŒใจใ†ใ”ใ–ใ„ใพใ—ใŸ๏ผ
ๆ˜Žใ‚‰ใ‹ใชใƒŸใ‚นใŒ2็ฎ‡ๆ‰€ใ‚ใฃใŸใฎใงใ“ใกใ‚‰ใงไฟฎๆญฃใ•ใ›ใฆใ„ใŸใ ใใพใ—ใŸใ€‚

@smikitky

@yuta-ike ใพใ  memo ใฎๆ–นใฎใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆใฏ็€ๆ‰‹ใ•ใ‚Œใฆใ„ใพใ›ใ‚“ใ‚ˆใญใ€‚็งใฎๆ–นใงๅผ•ใๅ–ใฃใฆ่‰ฏใ„ใงใ—ใ‚‡ใ†ใ‹ใ€‚

@yuta-ike

@smikitky

@smikitky

koba04

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

๐Ÿ‘ LGTM!!!