راکت
حل شده

دسترسی به state های ریداکس قبل از render شدن کامپوننت

3 پاسخ

سلام. چجوری میشه قبل از render شدن کاپومت به state هایی با ریداکس ست کردم دسترسی پیداکنم
به طور مثال من با استفاده از کد زیر user رو میگیرم

const stateToProp = state => {  
    return {  
        user: state.UserReducer.user  
    };  
};

و میخوام به صورت زیر نمایش بدم

render() {  
    return (  
    <div>  
    <ul>  
        <li>{this.props.user.name}</li>  
        <li>{this.props.user.username}</li>  
        <li>{this.props.user.email}</li>  
    </ul>  
    </div>  
  )  
}

تو حالت عادی قبل این که states رو دریافت کنه رندر میشه و undefined برمیگردونه
کسی میتونه راهنمایی کنه که قبل render شدن states دریافت شه؟

مهدی
مهدی
@mahdi2606
ثبت پرسش جدید

پاسخ‌ها

3
محمد عبدی
محمد عبدی
@mohammadm69

تخصص: Full Stack Developer

بهترین پاسخ

ببینید شما باید از یک لودینگ استفاده کنید، کاری که همه میکنن

چک کنید وقتی که دیتا کامل شد لودینگ حذف کنید.

علی
علی
@alif

تخصص: Laravel

از componentWillMount استفاده کنید

مهدی
مهدی
@mahdi2606

@alif
اینکارو کردم ولی فرقی نکرد
componentWillmount قبل رندر اجرا میشه و ولی state ها بعد رندر دریافت
اول componentWill اجرا میشه بعد کامپوننت رندر میشه ولی چون مقدار state ها از ریداکس بعد رندر دریافت میشه در قسمتی که this.props.user.name رو فراخونی میکنم میگه name پیدا نشد و برنامه به اررور بر میخوره متوقف میشه

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام