.reduce(fn[, initialValue]) => Any
Применяет предоставленную функцию сокращения к каждому узлу в обёртке, чтобы свести к одному значению. Каждый узел передаётся как ShallowWrapper, и обрабатывается слева направо.
Аргументы
-
fn(Function): Функция сокращения, которая будет выполняться для каждого узла в коллекции, с следующими аргументами:-
value(T): Значение, возвращённое предыдущим вызовом этой функции -
node(ShallowWrapper): Обёртка вокруг обрабатываемого узла -
index(Number): Индекс обрабатываемого узла
-
-
initialValue(T[необязательно]): Если предоставлено, это будет передано в качестве первого аргумента первому вызову функции сокращения. Если опущено, будет предоставлен первыйnode, и итерация начнётся со второго узла в коллекции.
Возвращаемое значение
T: Возвращает массив возвращённых значений от функции отображения...
Пример
function Foo() {
return (
<div>
<Bar amount={2} />
<Bar amount={4} />
<Bar amount={8} />
</div>
);
}
const wrapper = shallow(<Foo />);
const total = wrapper.find(Bar).reduce((amount, n) => amount + n.prop('amount'), 0);
expect(total).to.equal(14);
Связанные методы
© 2015 Airbnb, Inc.
Licensed under the MIT License.
https://enzymejs.github.io/enzyme/docs/api/ShallowWrapper/reduce.html