Middle
როგორ შეიძლება კიდევ განაახლოთ სტატუსი React-ში (წინა მნიშვნელობით ფუნქციის მეშვეობით)?
sobes.tech AI
პასუხი AI-სგან
React-ში ხშირად იყენებენ ფუნქციას setState ან useState ჰუქში, რათა განაახლონ მდგომარეობა წინამორბედი მნიშვნელობის გათვალისწინებით.
საშუალო ვარიანტთან ერთად:
setState(prevState => ({ count: prevState.count + 1 }));
არსებობს სხვა გზებიც განახლებისთვის, მაგალითად:
- ფუნქციონალური კომპონენტებში
useStateჰუქის გამოყენებით განახლების ფუნქციის გამოყენება:
const [count, setCount] = useState(0);
setCount(prevCount => prevCount + 1);
useReducer-ში, მდგომარეობა შეიძლება განახლდეს რედიუსერის მეშვეობით, რომელიც იღებს მიმდინარე მდგომარეობას და მოქმედებას:
function reducer(state, action) {
switch(action.type) {
case 'increment':
return { count: state.count + 1 };
default:
return state;
}
}
const [state, dispatch] = useReducer(reducer, { count: 0 });
dispatch({ type: 'increment' });
- კლასებში, შესაძლებელია გამოიყენოთ callback
setState-ში, რათა წვდომა ჰქონდეთ წინამორბედი მდგომარეობაზე:
this.setState((prevState) => ({ count: prevState.count + 1 }));
ამიტომ, ფუნქციის გამოყენება წინამორბედი მნიშვნელობით არის სტანდარტული და რეკომენდებული მეთოდი, განსაკუთრებით მაშინ, როდესაც ახალი მდგომარეობა დამოკიდებულია ძველზე, რათა თავიდან აიცილოთ განახლებების ასინქრონული პრობლემები.