S
SolidJS•2y ago
nikivi

Need help solve issue with createEffect, complex state

GitHub
GitHub - nikitavoloboev/kuskus: Fast todo app
Fast todo app. Contribute to nikitavoloboev/kuskus development by creating an account on GitHub.
11 Replies
nikivi
nikiviOP•2y ago
GitHub
kuskus/All.tsx at main · nikitavoloboev/kuskus
Fast todo app. Contribute to nikitavoloboev/kuskus development by creating an account on GitHub.
nikivi
nikiviOP•2y ago
I have a key event listener here that on return chooses if a todo should be edited or not
nikivi
nikiviOP•2y ago
nikivi
nikiviOP•2y ago
so from this go to this
nikivi
nikiviOP•2y ago
nikivi
nikiviOP•2y ago
the editable todo is this component
nikivi
nikiviOP•2y ago
GitHub
kuskus/TodoEdit.tsx at main · nikitavoloboev/kuskus
Fast todo app. Contribute to nikitavoloboev/kuskus development by creating an account on GitHub.
nikivi
nikiviOP•2y ago
GitHub
kuskus/TodoEdit.tsx at main · nikitavoloboev/kuskus
Fast todo app. Contribute to nikitavoloboev/kuskus development by creating an account on GitHub.
nikivi
nikiviOP•2y ago
the issue I get is that this effect inside TodoEdit runs instantly its very confusing
nikivi
nikiviOP•2y ago
if you wish to help please clone https://github.com/nikitavoloboev/kuskus
GitHub
GitHub - nikitavoloboev/kuskus: Fast todo app
Fast todo app. Contribute to nikitavoloboev/kuskus development by creating an account on GitHub.
nikivi
nikiviOP•2y ago
then inside localhost press n key type a todo and press return it should create a new todo I am forced to enter return 2 times
createEffect(() => {
if (event()?.key === "Enter") {
untrack(() => {
if (focusedTodo() !== 0) {
untrack(() => {
if (editingTodo()) {
setEditingTodo(false)
} else {
setEditingTodo(true)
}
setTodoToEdit(focusedTodo())
})
}
})
}
})
createEffect(() => {
if (event()?.key === "Enter") {
untrack(() => {
if (focusedTodo() !== 0) {
untrack(() => {
if (editingTodo()) {
setEditingTodo(false)
} else {
setEditingTodo(true)
}
setTodoToEdit(focusedTodo())
})
}
})
}
})
ok this helped solve it 🎊
Want results from more Discord servers?
Add your server