Comments 11
Хороший пример того, как, порой, такая простая вещь может оказаться очень полезной людям!
classNames={{
"file-drop-zone_box": myClassNames.myFileDropZoneBoxClass,
"file-drop-zone_button": myClassNames.myButtonClass,
"file-icon": myClassNames.myFileIconClass,
"file-box": myClassNames.myFileBoxClass,
"file-box__file-button": myClassNames.myFileButton
}}
Имена классов выглядят достаточно странно, где-то есть нижние подчеркивания, где-то нет, где-то подчеркивание одиночное, где-то двойное (привет БЭМ). Я бы сделал как в material ui
classNames={{
root: '...',
box: '...',
button: '...',
icon: '...',
}}
Я бы ещё добавил слоты, чтобы было можно полностью заменять реализацию компонента на кастомную. Как в material ui
https://mui.com/material-ui/api/slider/#slider-prop-slots
А так выглядит не плохо. Хотя на статью, конечно, не тянет. Для статьи было бы полезно описать как это реализовывалось и с какими трудностями столкнулись. И почему не подошли готовые библиотеки.
Правильно ли я понял, что ты взял готовую библиотеку обернул ее своим компонентом и теперь говоришь что я это твоя библиотека ?)
Интересная статья, и компонент вроде полезный. Вот только не пойму, на дворе 2024 год, зачем все упорно продолжают писать в инструкциях "npm install --save"?
Подушню. Неплохо было-бы добавить обработку ошибок, возможность использования middleware и добавить ограничение не только на общий размер файлов, но и отдельно на каждый файл.
Какие планируешь добавить преимущества перед всем известным react-dropzone?
Как я делал загрузчик файлов на react и выложил на npm