Я понимаю, что это старый вопрос, но для тех, кто читает, я бы рекомендовал не использовать рекурсию для таких проблем, как это: списки намного быстрее и полностью исключают рекурсию. Я бы использовал это как:
def fibonacci(n):
f = [0,1,1]
for i in xrange(3,n):
f.append(f[i-1] + f[i-2])
return 'The %.0fth fibonacci number is: %.0f' % (n,f[-1])
(используйте n + 1 в xrange, если вы начинаете считать свою последовательность фибоначчи от 0 вместо 1.)
То, что вы хотите сделать, это загрузить тему как часть вашего метода main
. Затем вы можете передать загруженную тему в ваши AppState
конструкторы. Не то чтобы я добавил async
в ваш метод main
и перенес настройку theme
в вашем AppState
в параметры.
void main() async {
var theme = await getActiveTheme();
final store = Store<AppState>(
reducer,
initialState: AppState.initialState(theme),
);
runApp(MyApp(store: store));
}
class AppState {
// ...
AppState.initialState(this.theme)
: user = null;
}