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

- 7 ماه پیش
توسط محمد عبدی آپدیت شد
مهدی ( 2870 تجربه )
7 ماه پیش

سلام. چجوری میشه قبل از 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 دریافت شه؟

بهترین پاسخ انتخاب شده توسط مهدی
محمد عبدی
7 ماه پیش

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

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

علی ( 7696 تجربه )
7 ماه پیش

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

مهدی ( 2870 تجربه )
7 ماه پیش

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

محمد عبدی ( 6934 تجربه )
7 ماه پیش

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

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

برای ارسال پاسخ باید وارد سایت شوید