Я создал приложение, которое использует Airtable в качестве базы данных. Я использовал счетчик, чтобы заменить унылую пустую страницу, которая в противном случае была бы представлена ​​пользователю за время, необходимое для получения запрошенных данных и для соответствующей отрисовки страницы.

Я мог бы использовать существующую библиотеку счетчиков реакции, но вместо этого я решил использовать этот шанс, чтобы научиться создавать свои собственные счетчики и свою собственную библиотеку компонентов React. Итак, в этом посте я покажу вам свою библиотеку и пример использования счетчика.

Библиотека React Spinners

Итак, без лишних слов, вот моя библиотека реагирующих прядильщиков (GitHub, Bit). Он основан на загрузчиках CSS loading.io. Я добавил возможность отправлять цвет и размер в качестве свойств компонента, чтобы упростить настройку счетчиков. Я экспортировал счетчики (всего двенадцать) в bit.dev, чтобы вы могли легко просматривать и настраивать их на игровой площадке Bit и устанавливать их как пакеты с NPM или Yarn (или получать их исходный код с помощью импорта Bit).



Например, это загрузчик круга, и компонент может получать реквизиты цвета и размера:

и код импортирует очень простой код CSS, точно такой же, как из загрузчика CSS loading.io:

Как использовать анимацию загрузчика в вашем приложении React.js?

Итак, у вас есть компонент, который отправляет запрос и сохраняет полученные данные в массиве внутри вашего объекта состояния. Очевидно, что нужно сделать, это проверить, пуст ли массив, и если да, отобразить счетчик.

В этом примере я использовал счетчик Facebook с очень простой страницей, ожидающей 5 секунд, пока не отобразится список автомобилей.

Он очень прост в использовании и позволяет показывать красивый загрузчик анимации до тех пор, пока данные не будут загружены.

Кроме того, вы можете использовать собственный цвет в любом счетчике, просто отправьте цвет внутри свойства цвета, например:

<Facebook color="red" />
<Facebook color="#cecece" />

Или будь сумасшедшим и используйте случайный цвет с моим компонентом генератора случайных цветов.

<Facebook color={getRandomColor()} />

Вы можете увидеть результат со случайным цветом в этой живой демонстрации facebook react spinner.

Если вы хотите увидеть больше примеров реагирующих спиннеров, посмотрите мою коллекцию компонентов реагирующих спиннеров в bit.dev.

По любым вопросам или отсутствующим функциям, пожалуйста, открывайте вопрос на GitHub, и я сделаю все возможное.

И, конечно, если вам это нравится, ставьте звезду!



И подписывайтесь на меня в Twitter, чтобы получать обновления функций.