Добрый день!
"es6 spread разворачивает массив в аргументы"
Объект. Массив - частный случай объекта )
Очень сложно объяснить проще тех слов, которые вы и сами написали )
props - это объект.
Вы его прокидываете в нижеследующий компонент.
Вы можете делать это поименно, как сделано в вашем примере, можете сделать сначала деструктуризацию
const { name, age } = this.props;
<Modal age={age} name={name}>
А можете прокинуть все свойства объекта props сразу и целиком )
То есть по сути вы просто передаете весь объект props нижеследующему компоненту.
Если вы, например, напишете так
<Modal props={props}>
то вы же в Modal получите эти пропсы, верно?
А так
<Modal {...props} />
вы просто делаете деструктуризацию в момент передачи (надеюсь, так будет проще для понимания)).