馃悰 Bug Report
I encountered a discrepancy in the "state" of two nested functions while working on this project. Sometimes "state" does not seem to update its value as expected.
馃攧 Steps to Reproduce
The issue can be reproduced using the following code snippet:
def my_stateful_function():
count, set_count = use_state(0)
def increment():
set_count(count+1)
print("count:", count)
return increment
inc = my_stateful_function() # Initial count = 0
inc() # Must Increment: 0 to 1
inc() # Must Increment: 1 to 2
inc() # Must Increment: 2 to 3
my_stateful_function() # Expected: count = 3, Actual: count = 1 gets printed in console
Meanwhile, for comparison, the following method of using states behaves correctly as expected:
def my_stateful_function():
count, set_count = use_state(0)
def increment():
set_count(count+1)
print("count:", count)
return increment
inc1 = my_stateful_function() # count = 0 and prints 0
inc1() # Increment: 0 to 1
inc2 = my_stateful_function() # Print 1
inc2() # Increment: 1 to 2
inc3 = my_stateful_function() # Print 2
inc3() # Increment: 2 to 3
my_stateful_function() # Prints 3
鈿欙笍 Expected behavior
The anticipated outcome is that both code samples should produce identical outputs, maintaining and updating the state correctly across various methods of calling functions.
馃捇 Environment
- OS: macOS 14.2.1
- Python version: Python 3.11.7
馃悰 Bug Report
I encountered a discrepancy in the "state" of two nested functions while working on this project. Sometimes "state" does not seem to update its value as expected.
馃攧 Steps to Reproduce
The issue can be reproduced using the following code snippet:
Meanwhile, for comparison, the following method of using states behaves correctly as expected:
鈿欙笍 Expected behavior
The anticipated outcome is that both code samples should produce identical outputs, maintaining and updating the state correctly across various methods of calling functions.
馃捇 Environment