# Best Practices for Mutation with Reactant.jl

**URL:** <https://discourse.julialang.org/t/best-practices-for-mutation-with-reactant-jl/135256>\
**Category:** Specific Domains\
**Tags:** question, reactant\
**Created:** [January 25, 2026, 12:59pm UTC](https://discourse.julialang.org/t/best-practices-for-mutation-with-reactant-jl/135256 "2026-01-25T12:59:03Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![lance\_xwq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lance_xwq/32/36647_2.png) [@lance\_xwq](https://discourse.julialang.org/u/lance_xwq)\
**Post date:** [January 25, 2026, 12:59pm UTC](https://discourse.julialang.org/t/best-practices-for-mutation-with-reactant-jl/135256/1 "2026-01-25T12:59:03Z")

</div>

Hello,

I have been exploring Reactant.jl and JAX to develop a package for my research project. One thing I noticed about JAX is that it does not really allow in-place mutation of variables. I’ve seen several explanations for this, including that in-place mutation makes it harder to track data flow for automatic differentiation and program transformations.

On the other hand, Reactant.jl seems to support mutation. This makes me wonder: is Reactant.jl generally okay with in-place operations, or is mutation intended only when necessary?

Thanks in advance for any guidance!

---

<div class="post-metadata">

**Author:** ![wsmoses](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wsmoses/32/26497_2.png) [@wsmoses](https://discourse.julialang.org/u/wsmoses)\
**Post date:** [January 25, 2026, 4:23pm UTC](https://discourse.julialang.org/t/best-practices-for-mutation-with-reactant-jl/135256/2 "2026-01-25T16:23:01Z")

</div>

Yeah in place operations are totally fine with Reactant!
