diff --git a/React/CSSLayout/CSSLayout.c b/React/CSSLayout/CSSLayout.c index e44429b7e..c50095bf1 100644 --- a/React/CSSLayout/CSSLayout.c +++ b/React/CSSLayout/CSSLayout.c @@ -1514,10 +1514,14 @@ static void layoutNodeImpl(const CSSNodeRef node, // that are aligned "stretch". We need to compute these stretch values and // set the final positions. - // If we are using "at most" rules in the main axis, we won't distribute - // any remaining space at this point. + // If we are using "at most" rules in the main axis. Calculate the remaining space when + // constraint by the min size defined for the main axis. if (measureModeMainDim == CSSMeasureModeAtMost) { - remainingFreeSpace = 0; + if (!CSSValueIsUndefined(node->style.minDimensions[dim[mainAxis]]) && node->style.minDimensions[dim[mainAxis]] >= 0) { + remainingFreeSpace = fmaxf(0, node->style.minDimensions[dim[mainAxis]] - (availableInnerMainDim - remainingFreeSpace)); + } else { + remainingFreeSpace = 0; + } } switch (justifyContent) {