You should store final
member fields (which are passed via constructor arguments) on the StatefulWidget
and make them public.
The StatefulWidget
's associated State
should use only the default constructor (no arguments), and its member fields should be private (starting with a _
) and mutable. Initialize them inline or in initState
if expensive or async work is necessary.
This pattern allows the StatefulWidget
to be recreated/rebuilt with new constructor arguments when its parents call setState
, while re-using the previous State
and letting it keep the values stored in its mutable member fields.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…