با سلام
آیا دلیل خاصی داشت که از دو Provider استفاده کردین ، یعنی باعث بهینه شدن عملکرد برنامه میشد؟ آیا اینکه هم dipatch و state رو در یک Provider پاس میدادیم باعث کاهش Perfomance برنامه میشد؟ مثل کد زیر :
export function AuthProvider({ children }) {
const [state, dispatch] = useReducer(reducer, initState);
return (
<AuthContext.Provider value={{...state ,dispatch}}>
{ children }
</AuthContext.Provider>
)
}
سلام
اینکه داخل یک Provider باشه یا نه کاملا به شرایط داره و نمیشه یه قانون کلی براش داد و شایدم بیشتر برگرده به سلیقه و سبک کدنویسی شما! انچنان شدید روی performance اثر زیادی نداره
من شخصا به سبک command و query به این دو تا نگاه میکنم. در واقع بهتر بگم دو تا حوزه مختلف از هم دیگه هستن از نگاه من و باعث خوانایی و نگهداری بهتر کد میشه
البته همنطوری که گفتم این مورد به هیچ عنوان قانون نیست و همیشه با توجه به شرایط واقعی پروژه باید تصمیم گیری کرد که کدوم سبک رو انتخاب بکنید! یک نکته دیگه ای هم که وجود داره معمولا dispatch ثابت و state تغییر میکن و با جدا سازی اونها کامپوننت هایی که صرفا با dispatch سر و کار دارند با تغییرات state دوباره render براشون اتفاق نمی افته