Parastoo Ebrahimi
5 سال پیش توسط Parastoo Ebrahimi مطرح شد
1 پاسخ

مشکل با prevState در reactjs

سلام. من یه منو دارم که میخوام وقتی کاربر روی یکی از آیتم ها کلیک کرد بقیه آیتم ها خود به خود اگر بازن بسته بشن تا طول منو زیاد نشه. به این صورت index آیتمی که کلیک شده رو میدم به یک تابع و روی اون toggle رو انجام میدم. ولی نمیتونم اینکه خود به خود منوی قبلی رو ببنده رو پیاده سازی کنم. من فکر میکردم میتونم از prevState استفاده کنم برای این موضوع.. ممنون میشم راهنمایی کنید چه کاری انجام بدم. @hesammousavi

handleSidebarClick=(panelNumber)=> {

        this.setState(prevState=>({
            shownSidebar: {
                 // [panelNumber-1]: false,

                ...this.state.shownSidebar,
[panelNumber]: !this.state.shownSidebar[panelNumber],
                // [panelNumber-1]: false,
                // [panelNumber+1]: false

            }

        } ) )

    }

این هم کدی که کار نکرد برای بسته شدن یک آیتم با باز شدن آیتم جدید

                [prevState.shownSidebar[panelNumber]]: !this.state.shownSidebar[panelNumber]

ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 5 سال پیش مطرح شد
0

قالب shownSidebar شما به چه شکل هست منظور initialState ابتدایی هست


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

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