Это код:
pages[i][0] = create("[Back]", () => setMenu(pages[i - 1]));
Проблема в том, что при выполнении Action
он использует i
из определенной области, и, поскольку я использую его для своего for
,это всегда будет максимальное значение.В моем случае параметр становится 2
, даже если лямбда была создана с 1
.Чтобы обойти это, я сделал это:
var forcedCopy = i - 1;
pages[i][0] = create("[Back]", () => setMenu(pages[forcedCopy]));
Есть ли способ обойти этот уродливый трюк?Я хочу передать myFunc(0)
, myFunc(1)
и т. Д., А не myFunc(i)
.