Size: a a a

2021 March 09

AR

Alexey Raspopov in React Kyiv
через data:image/svg+xml можно
источник

AR

Alexey Raspopov in React Kyiv
background-image: url(‘data:image/svg+xml;utf8,<svg>…</svg>’);
источник

I

Ihor in React Kyiv
о, спасибо, сейчас попробую
источник

I

Ihor in React Kyiv
Alexey Raspopov
background-image: url(‘data:image/svg+xml;utf8,<svg>…</svg>’);
просто так это сделать почему-то не вышло, свг парсится как [object Object]. Сделал вот так:
import { renderToStaticMarkup } from 'react-dom/server'

const SvgComponent = () =>
 <svg
   xmlns="http://www.w3.org/2000/svg"
   width="24"
   height="24"
   viewBox="0 0 24 24"
   fill="none"
 >
   <path
     d=""
     fill=""
   />
 </svg>

 const svgString = encodeURIComponent(renderToStaticMarkup(<SvgComponent />))
 const dataUri = `url("data:image/svg+xml,${svgString}")`

это норм или можно было как-то проще?
источник

AR

Alexey Raspopov in React Kyiv
Ihor
просто так это сделать почему-то не вышло, свг парсится как [object Object]. Сделал вот так:
import { renderToStaticMarkup } from 'react-dom/server'

const SvgComponent = () =>
 <svg
   xmlns="http://www.w3.org/2000/svg"
   width="24"
   height="24"
   viewBox="0 0 24 24"
   fill="none"
 >
   <path
     d=""
     fill=""
   />
 </svg>

 const svgString = encodeURIComponent(renderToStaticMarkup(<SvgComponent />))
 const dataUri = `url("data:image/svg+xml,${svgString}")`

это норм или можно было как-то проще?
А, так если у тебя свг в jsx, что мешает просто зарендерить через реакт?
источник

I

Ihor in React Kyiv
Alexey Raspopov
А, так если у тебя свг в jsx, что мешает просто зарендерить через реакт?
этот свгшник должен пойти потом бэкграундом через инлайн стили:
    <div style={{
       backgroundImage: dataUri,
     }}
   />
источник

AR

Alexey Raspopov in React Kyiv
Обязательно через цсс? Дропни через абсолютное позиционирование например. Или если это статика, сохрани в .svg файл
источник

I

Ihor in React Kyiv
Alexey Raspopov
Обязательно через цсс? Дропни через абсолютное позиционирование например. Или если это статика, сохрани в .svg файл
я там потом цвета менять хочу динамически, файлом не вариант (или вариант, но выглядит сложнее); а если с абсолютным позиционированием дропнуть img, то сломается логика отрисовки) это я звёздочки рейтинга рисую. Поверх пустых - полные (див внутри дива), которые заполняют на ширину от числа рейтинга
источник

SS

Serhey Shmyg in React Kyiv
Ihor
я там потом цвета менять хочу динамически, файлом не вариант (или вариант, но выглядит сложнее); а если с абсолютным позиционированием дропнуть img, то сломается логика отрисовки) это я звёздочки рейтинга рисую. Поверх пустых - полные (див внутри дива), которые заполняют на ширину от числа рейтинга
Вадим Макєєв тему з зірочками рейтингу в себе на ютуб каналі розібрав по запчпстинам. Відкрий відос подивись і не страждай ;)

https://youtu.be/EbajTYI-gg8
источник

I

Ihor in React Kyiv
видос интересный спасибо) посмотрю. А свой компонент я придумал быстро, только вот с свг немного запарился)
источник

AO

Agnislav Onufriichuk in React Kyiv
Ihor
я там потом цвета менять хочу динамически, файлом не вариант (или вариант, но выглядит сложнее); а если с абсолютным позиционированием дропнуть img, то сломается логика отрисовки) это я звёздочки рейтинга рисую. Поверх пустых - полные (див внутри дива), которые заполняют на ширину от числа рейтинга
Имхо, вполне вариант. Мы так делаем, каждый svg сделан как компонент, цвет прокидываем пропсами ))
источник
2021 March 10

SG

Stas G in React Kyiv
Ihor
я там потом цвета менять хочу динамически, файлом не вариант (или вариант, но выглядит сложнее); а если с абсолютным позиционированием дропнуть img, то сломается логика отрисовки) это я звёздочки рейтинга рисую. Поверх пустых - полные (див внутри дива), которые заполняют на ширину от числа рейтинга
Сделай спрайт свгшный, их можно красить цссом
источник

VP

Vlad Prodan in React Kyiv
Всем привет! Нужна помощь, есть таки блоки, при нажатии на одну из карточку должна менятся только левая сторона, а правая оставаться на месте. Как кто правильно сделать?
источник

НК

Николай Кузьмин... in React Kyiv
Vlad Prodan
Всем привет! Нужна помощь, есть таки блоки, при нажатии на одну из карточку должна менятся только левая сторона, а правая оставаться на месте. Как кто правильно сделать?
Через хук. В компоненте над этими двумя, записываешь в стейт куда именно кликнули, а в правом в зависимости от того, куда кликнули меняешь UI.
источник

НК

Николай Кузьмин... in React Kyiv
Николай Кузьмин
Через хук. В компоненте над этими двумя, записываешь в стейт куда именно кликнули, а в правом в зависимости от того, куда кликнули меняешь UI.
Ну точнее наоборот.
источник

VP

Vlad Prodan in React Kyiv
Николай Кузьмин
Через хук. В компоненте над этими двумя, записываешь в стейт куда именно кликнули, а в правом в зависимости от того, куда кликнули меняешь UI.
А через props.children?
источник

НК

Николай Кузьмин... in React Kyiv
Vlad Prodan
А через props.children?
Не обязательно. Вот у тебя общий компонент в котором правый и левый компоненты раздельно. Ты можешь в "общей вьюхе" на этом уровне, сделать хук состояния useState. Передать этот хук в оба компонента. Там где нужно менять вью, там будет условия на какое-либо значение стейта. А то, что будет менять, будет это делать через функцию изменения хука.
источник

VP

Vlad Prodan in React Kyiv
Николай Кузьмин
Не обязательно. Вот у тебя общий компонент в котором правый и левый компоненты раздельно. Ты можешь в "общей вьюхе" на этом уровне, сделать хук состояния useState. Передать этот хук в оба компонента. Там где нужно менять вью, там будет условия на какое-либо значение стейта. А то, что будет менять, будет это делать через функцию изменения хука.
Спасибо за совет
источник

SS

Serhey Shmyg in React Kyiv
Vlad Prodan
Всем привет! Нужна помощь, есть таки блоки, при нажатии на одну из карточку должна менятся только левая сторона, а правая оставаться на месте. Как кто правильно сделать?
Router
       => Layout (Header, Footer, Aside, SideBar). Main part is Route
               => Route (Home)
               => Route (Inner)
       => Layout2 (Header, Footer, Aside, SideBar)
               => Route (Description)
               => Route (FaQ)
источник

PD

Petya Danchuk in React Kyiv
Я хотел установить и настроить ESLint и Prettier чтоб как у про ) начал делать по какому-то западному видео мудреные настройки, но у видел в комментариях такое "create-react-app already contains eslint and eslint-config-react-app so basically just needs to install prettier dependencies and add .eslintrc.json" Так что ничего устанавливать не нужно? Нужно только настройки задать? Или как?
источник