Օգտագործելով react-router դուք կարող եք հեշտությամբ կանխել երթուղու փոփոխությունը (որը կկանխի բաղադրիչի ապամոնտաժումը)՝ օգտագործելով Prompt-ը: Դուք պետք է ձեռքով փոխանցեք getUserConfirmation հենարանը, որը գործառույթ է: Դուք կարող եք փոփոխել այս գործառույթը, ինչպես ցանկանում եք, ցանկացած երթուղիչում (զննարկիչ, հիշողություն կամ հեշ)՝ ստեղծելու ձեր անհատական հաստատման երկխոսությունը (օրինակ՝
Ի՞նչն է հանգեցնում բաղադրիչի ապամոնտաժմանը:
Բաղադրիչները ապամոնտաժվում են երբ մայր բաղադրիչն այլևս չի ցուցադրվում կամ մայր բաղադրիչը կատարում է թարմացում, որը չի արտաբերում այս օրինակը:
Ինչպե՞ս է արձագանքում բաղադրիչի ապամոնտաժումը:
Unmount a React Node
React-ն ունի վերին մակարդակի API, որը կոչվում է unmountComponentAtNode, որը հեռացնում է բաղադրիչը կոնկրետ կոնտեյներից: UnmountComponentAtNode ֆունկցիան ընդունում է արգումենտ որպես կոնտեյներ, որտեղից պետք է հեռացվի կոնկրետ բաղադրիչը:
Ի՞նչ է բաղադրիչի ապամոնտաժումը:
Այս մեթոդի նպատակն է ոչնչացնել բաղադրիչի կողմից ստեղծված կողմնակի ազդեցությունները Երբ բաղադրիչն ապամոնտաժված է, մենք չենք կարող այն կրկին օգտագործել: Ամեն անգամ, երբ ստեղծվում է նոր բաղադրիչ: Բացի այդ, եթե վիրտուալ dom-ի և իրական dom-ի միջև տարբերություն չկա, react-ը նույնպես կարող է դադարեցնել թարմացման փուլը:
Ինչպե՞ս կարող եմ իմանալ, արդյոք բաղադրիչն ապամոնտաժված է:
Պարզապես սահմանեք _isMounted հատկությունը true-ի componentDidMount-ում և սահմանեք այն false-ի մեջ componentWillUnmount, և օգտագործեք այս փոփոխականը՝ ձեր բաղադրիչի կարգավիճակը ստուգելու համար: Օպտիմալ լուծումը կլինի գտնել վայրեր, որտեղ setState-ը կարող է կանչվել բաղադրիչի ապամոնտաժումից հետո և ուղղել դրանք: