С Новым годом! Форум программистов, компьютерный форум, киберфорум
React/ReactJS
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
 Аватар для Fixer_84
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337

Импорт нескольких файлов, содержащих состояние

30.10.2021, 23:47. Показов 946. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, уважаемые форумчане! Столкнулся со следующим вопросом. Допустим, у меня есть компонента и объекты, содержащие ее свойства вместе с состояниями в виде:

JavaScript
1
2
3
4
5
6
7
8
9
10
 const left_right_shift = {
     marginLeft: !left_panel_folded ? "calc(10vw + 10vh)" : "calc(4vw + 4vh)"
 }
 
  const cpp_introduction_text = {
        width: isPortrait ? "calc(20vw + 20vh)" : "calc(30vw + 30vh)",
        textAlign: "justify",
        marginLeft: !isPortrait ? "1vw" : "0vw", 
        fontSize: "calc(0.8vw + 0.8vh)",
    }
И так далее...

Теперь, я бы хотел свернуть код и поместить свойства выше в отдельный файл *.js. Как я могу сделать это сразу с несколькими свойствами? Возможно ли это? Далее, я хотел бы использовать команду import {...} from './path'. Если бы это были просто свойства, я бы просто импортировал их из файла *.css, но здесь свойства динамические, то есть зависят от javascript-переменных. Очень буду благодарен за вашу помощь.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.10.2021, 23:47
Ответы с готовыми решениями:

Импорт нескольких txt файлов
Добрий день! Возможно сделать импорт нескольких txt файлов с папки, используя параметри With...

Импорт нескольких csv-файлов в Access
Всем привет! помогите, пж, экспортировать несколько файлов формата csv в таблицу access или запрос. Есть несколько файлов. У каждого...

Импорт нескольких файлов excel в access
Добрый день! в связи с тем, что производительности excel стало недостаточно, решили слить все данные в access. Есть несколько...

6
 Аватар для bodynar
345 / 307 / 135
Регистрация: 14.03.2015
Сообщений: 1,158
Записей в блоге: 1
31.10.2021, 04:54
Fixer_84, Вы имеете в виду использовать различные значения для компоненты в зависимости от ее состояния?

Допустим ваши css свойства в виде js объектов.

А в чем проблема разместить их в нужных вам файлах и импортировать их, а в зависимости от состояния использовать то или иное описание?

Пример "на коленке"
JavaScript
1
2
3
4
5
6
import foldedStateValues from './foldedStateValues.js';
import unFoldedStateValues from './unFoldedStateValues.js';
 
...
 
const componentValues = folded ? foldedStateValues : unFoldedStateValues; // folded - состояние компонента
P.S. Ну.. или же почему вы не используете некий флаг и описание на css, чтобы на стороне верстки просто задавать некий класс \ dom-атрибут?
1
 Аватар для Fixer_84
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
31.10.2021, 13:13  [ТС]
bodynar, здравствуйте! Спасибо за ваш ответ. Вопрос был в том, как должен выглядеть файл, который я импортирую сразу для нескольких объектов. Там, вроде, где-то должно быть ключевое слово export. Можно ли применить это сразу к нескольким объектам? Или по одному подключать придется?
0
 Аватар для bodynar
345 / 307 / 135
Регистрация: 14.03.2015
Сообщений: 1,158
Записей в блоге: 1
31.10.2021, 14:21
Fixer_84, вы имеете в виду экспорт множества членов из 1 файла или экспорт 1 члена из 1 файла для множества использований?

1. Экспорт множества членов из 1 файла
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
// values.js
export const myValue = { o: 1, a: 2 };
 
export const myFunction = (param1, param2) => {
    // some logic;
}
 
 
// file1.js
import { myValue, myFunction } from './values';
 
// file1.js
import { myValue } from './values';
0
 Аватар для Fixer_84
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
05.11.2021, 14:18  [ТС]
Цитата Сообщение от bodynar Посмотреть сообщение
Fixer_84, вы имеете в виду экспорт множества членов из 1 файла или экспорт 1 члена из 1 файла для множества использований?
Я имею ввиду экспорт из одного файла сразу нескольких. Не могли бы показать как для этих примеров будет:

JavaScript
1
2
3
4
5
6
7
8
9
10
const left_right_shift = {
    marginLeft: !left_panel_folded ? "calc(10vw + 10vh)" : "calc(4vw + 4vh)"
}
 
const cpp_introduction_text = {
    width: isPortrait ? "calc(20vw + 20vh)" : "calc(30vw + 30vh)",
    textAlign: "justify",
    marginLeft: !isPortrait ? "1vw" : "0vw", 
    fontSize: "calc(0.8vw + 0.8vh)",
}
0
 Аватар для bodynar
345 / 307 / 135
Регистрация: 14.03.2015
Сообщений: 1,158
Записей в блоге: 1
05.11.2021, 15:21
Fixer_84,

JavaScript
1
2
3
4
5
6
7
8
9
10
11
// root/filename.js
export const left_right_shift = {
    marginLeft: !left_panel_folded ? "calc(10vw + 10vh)" : "calc(4vw + 4vh)"
}
 
export const cpp_introduction_text = {
    width: isPortrait ? "calc(20vw + 20vh)" : "calc(30vw + 30vh)",
    textAlign: "justify",
    marginLeft: !isPortrait ? "1vw" : "0vw", 
    fontSize: "calc(0.8vw + 0.8vh)",
}
Импорт этого файла:
JavaScript
1
2
3
4
5
6
7
8
9
// root/user.js
import { cpp_introduction_text } from './filename';
 
const { width } = cpp_introduction_text;
 
// root/folder/class/class.js
import { left_right_shift } from '../../../filename';
 
const marginLeft = left_right_shift.marginLeft.replace("vh", "rem");
А вообще - рекомендую посмотреть в сторону применения css на основе некого свойства. Если, конечно же, у вас не styled-components
Например
JavaScript
1
2
3
4
5
// .. Внутри компонента
return (
            <div className={isListVisible ? " className--opened" : ""}>
        </div>
    );
CSS
1
2
3
4
.className--opened{
    visibility: visible;
    opacity: 1;
}
1
 Аватар для Fixer_84
1505 / 969 / 812
Регистрация: 30.04.2016
Сообщений: 3,337
10.12.2021, 12:40  [ТС]
bodynar, в итоге, получилось передать свойства в отдельном файле в другом виде:

Например:

JavaScript
1
2
3
export const text_color = (param) => ({
        color: param == 1 ? "red" : "green"
})
Теперь свойства зависят от параметра и можно импортировать объект и подставлять туда аргументы. Это оказалось крайне удобным.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.12.2021, 12:40
Помогаю со студенческими работами здесь

Импорт нескольких текстовых файлов в excel
Здравствуйте. Нужна помощь с импортом нескольких текстовых файлов которые имеют вид: номер значение значение значение номер значение...

Импорт данных из нескольких Excel файлов в Word
Доброго всем времени суток! У меня имеется очень много эксель файлов с нумерацией имен от 1 до 100 в них одинаковые диапазоны ячеек,...

Импорт данных из нескольких файлов excel в один файл
Моя проблема состоит вот в чем. Есть, например, три файла в них расчет зарплаты около 200 работников за три месяца. Мне нужно создать...

Импорт нескольких текстовых файлов на один лист в Excel с возможностью задания маски
Здравствуйте! Нужна помощь по открытию нескольких текстовых файлов со строго определенным разделителем на один лист в Excel. При этом...

Можно ли при гибернации сохранить состояние нескольких приложений, но при этом не сохранять состояние системы?
можно сохранить состояние нескольких приложений, но при этом не сохранять состояние системы? убил логон при помощи logon workshop`a, а на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru