راکت

مشکل با prevState در reactjs

1 پاسخ

سلام. من یه منو دارم که میخوام وقتی کاربر روی یکی از آیتم ها کلیک کرد بقیه آیتم ها خود به خود اگر بازن بسته بشن تا طول منو زیاد نشه. به این صورت 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]
ثبت پرسش جدید

پاسخ‌ها

1
حسام موسوی
حسام موسوی
@hesammousavi

تخصص: طراح و برنامه نویس

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

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

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

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