با سلام
من با استفاده از onpress با کلیک بر روی یک متن یک تابع را صدا میزنم در آن تابع دستورات زیر را به ترتیب می نویسم
اول—> با دستور setstate یک state را تغییر میدهم مثلا با setstate مقدار state مدنظر را از a به b تغییر میدهم
دوم—->با دستور alert ان state مدنظر را برای نمایش صدا میزنم
اتفاقی که می افتد این است—>در زمانی که برروی متن کلیک می شود و تابع اجرا می شود alert به من مقدار قبلی state یعنی a را نشان میدهد نه b درصورتی که من ابتدا با setstate مقدار state مدنظر را از a به b تغییر دادم بعد alert را فراخوانی کرده ام….!!!!
حال اگر یک بار دیگر بر روی متن کلیک کنم مقدار b را به من نمایش میدهد (یعنی با کلیک اول روی متن مقدار قبلی state که همان a است نمایش داده می شود و با کلیک دوم روی متن مقدار b نمایش داده می شود)
در واقع با هر بار اجرا تابع مقدار state تغییر می کند ولی ان مقدار در alert نمایش داده نمی شود بلکه مقدار قبلی نمایش داده می شود و این روند هر بار ادامه دارد
لطفا من را راهنمایی کنید.
ضمنا هر خط کد بالا را در یک تابع جدا گانه نوشته و بعد هر دو تابع را در یک تابع دیگر ریخته و ان را صدا زدم ولی باز هم درست نشد!