#javascript #reactjs #material-ui #styled-components #emotion
#javascript #reactjs #материал-пользовательский интерфейс #styled-компоненты #эмоция
Вопрос:
Работая в React, мне нужно передать реквизит из экземпляра компонента в mockFn
here . Это извлеченный пример, но он использует Material UI, и я просто немного зациклился на концепции / как ее структурировать, чтобы у меня был доступ props
.
В приведенном ниже примере background
часть позволяет мне получать доступ к реквизитам с помощью функции arrow, но для mockFn
бита, где мне нужно встроить результат, я не могу передать ему реквизит.
Я думал, что смогу сделать props => …mockFn(), но это не работает.
const mockFn = props => ({
color: props.color,
//...
});
const StyledSelect = withStyles(
{
root: {
// works fine
background: props => props.bgColor,
// how to pass props to this mockFn?
...mockFn()
// does not work
props => ...mockFn(props)
}
},
{}
)(Select);
<StyledSelect bgColor="green" color="red" />
Полный пример на https://codesandbox.io/s/material-demo-forked-res5e?file=/demo.js:586-767
Ответ №1:
я понятия не имею о material-ui, но я знаю, что в стилизованных компонентах это работает:
...(props) => mockFn(props)
попробуйте и расскажите мне, что произошло