Size: a a a

React — русскоговорящее сообщество

2021 April 16

AS

Alexandr Sachishin in React — русскоговорящее сообщество
А почему именно из компонента? Создайте отдельный модуль
источник

GG

Gabriel Grey in React — русскоговорящее сообщество
Ну вот в моем примере не компонент, в любом случае при рендере на странице по пути изображения нет как будто
источник

M

Merry in React — русскоговорящее сообщество
Привет! Может сможете подсказать решение, на уровне архитектуры (если я правильно использую данный термин тут). Есть страничка где много ридонли инпутов, которые по нажатию на иконку в этом инпуте можно  редактировать. например, два вида инпутов в сайдбаре, и где-то 8 в основной части (то есть справа от сайдбара). И я решил сделать общий компонент для таких инпутов. Проблема в том, что у меня появлятся довольно много повторения кода, из-за того что еще необходима обертка для инпута, для добавления иконок и тд. Мне кажется, это не очень хорошо, и нужно придумать какой-то другой компонент. Может сталкивались с таким или можете подсказать какой-то паттерн, по которому можно это организовать? Или же использовать один общий компонент для всего это не самая разумная идея?

П.с. под разными видами инпутов я имею в виду что они немного отличаются по стилям, наличию и количеству иконок, и соответственно разные запросы при их редактировании
источник

AS

Alexandr Sachishin in React — русскоговорящее сообщество
Проверьте путь и наличие ошибок)
источник

M

Merry in React — русскоговорящее сообщество
Пример общего компонента
источник

GG

Gabriel Grey in React — русскоговорящее сообщество
Я могу достучаться до картинки из компонента на стадии import, после нет
источник

AS

Alexandr Sachishin in React — русскоговорящее сообщество
А как background получается? Через import background from ./path/to/bg?
источник

GG

Gabriel Grey in React — русскоговорящее сообщество
То есть так работает
```
import loginImage from "src/asets/images/loginImg.png"

<div style={{ backgroundImage: url(${loginImage}), backgroundSize: 'cover' }}>
```
но динамически - НИКАК
источник

AS

Alexandr Sachishin in React — русскоговорящее сообщество
Попробуйте эту строку в переменную засунуть, а не импортировать
источник

GG

Gabriel Grey in React — русскоговорящее сообщество
У меня сейчас так:
const localStyle=  {
   main:{
     width:'100%',
     height: '100%',
     display:'inline-block',
     backgroundImage: `url(${background})`
   },

  И
это не работает
источник

AS

Alexandr Sachishin in React — русскоговорящее сообщество
Если не ошибаюсь то при таком импорте картинка обрабатывается как хэш, а не как путь
источник

GG

Gabriel Grey in React — русскоговорящее сообщество
Она и так приходит как аргумент в модуль, я ее вижу, но при передаче в стили изображение не находит.
Мне кажется это связано как-то с роутингом и защитой
источник

W

Whoisyourdaddy in React — русскоговорящее сообщество
src={require('./logo.jpeg')}
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Можете создать один компонент, а отличия по стилям контролировать пропсами . Не которые компоненты типа иконок можно передавать в пропсы, используя паттерн слотов
источник

W

Whoisyourdaddy in React — русскоговорящее сообщество
используй require
источник

AS

Alexandr Sachishin in React — русскоговорящее сообщество
Тоже вариант
источник

M

Merry in React — русскоговорящее сообщество
Спасибо, почитаю сейчас про паттерн
источник

GG

Gabriel Grey in React — русскоговорящее сообщество
Error: Cannot find module './src/imgs/test.jpg'
источник

W

Whoisyourdaddy in React — русскоговорящее сообщество
что у тебя картинки в src делают?
источник

GG

Gabriel Grey in React — русскоговорящее сообщество
Тоже самое что они делали бы в другой директории
источник