Hi,
I am really struggling to understand the basic streamlit workflow. Why does this app only accept every second change in the text input field???
App structure:
.
├── app.py
└── pages
└── page_1.py
app.py
import streamlit as st
"###### st.session_state:"
st.json(st.session_state, expanded=True)
st.divider()
"# Example App"
"Go to page 1 and enter some text."
"Change/enter the text in the text input => It works on the first change."
"Change/enter the text in the text input => It does **NOT** work on every second change!!!"
"Why are changes not accepted **on every second** change?? How to fix???"
if "text" in st.session_state:
f"text: `{st.session_state.text}`"
st.divider()
"###### st.session_state:"
st.json(st.session_state, expanded=True)
page_1.py
import streamlit as st
"###### st.session_state:"
st.json(st.session_state, expanded=True)
st.divider()
if "text" not in st.session_state:
st.session_state.text = "abc"
"# Page 1"
text_ti = st.text_input(label="Enter some text", value=st.session_state.text)
f"text_ti: `{text_ti}`"
st.session_state.text = text_ti
st.divider()
"###### st.session_state:"
st.json(st.session_state, expanded=True)