Форум программистов, компьютерный форум, киберфорум
React/ReactJS
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
4 / 4 / 3
Регистрация: 15.12.2015
Сообщений: 184

Как можно менять параметры уже размещенных компонентов?

11.04.2018, 10:56. Показов 1299. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я хочу создать модальное окно, компонент в котором можно было бы выводить сообщения.
Например:
JavaScript
1
2
3
4
5
6
7
8
class Modal extends React.Component {
    constructor(props) {
        super(props);
    }
     render() {/*отображается модальное окно с сообщением {this.props.message}*/}
}
 
ReactDOM.render(<Modal massage = "message"/>, document.getElementById('modal'));
Но тут получается что я один раз объявил компонент с сообщением и больше я сообщение поменять не могу???

Подобное модальное окно я написал при помощи KnockOut.js. Я написал разметку со ссылками на данные KnockOut-модели. При необходимости отобразить сообщение, я передавал его в модель и отображал окно с нужным текстом.

В React я не нашел как это сделать. Как я понял: компоненты React один раз встраиваются в DOM, инициализируются исходя из переданных props и остаются статичными.
На React я сделал навигационную панель. Получилось очень удобно: на сервере (C# MVC5) я подгружал структуру панели из JSON-а и передавал в React-компонент, обрабатывал и на выходе получал навигационную панель. Но это статический элемент сайта.

У меня на очереди еще переделать KnockOut-модели для панели для добавления нового документа и дерева документов они обе должны динамически обновляться.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.04.2018, 10:56
Ответы с готовыми решениями:

Как в Netscape динамически менять параметры вызываемого файла?
На основной странице имеется строки: &lt;script language='JavaScript1.2' src='clside.js'&gt;&lt;/script&gt; &lt;script id='gener'...

Как динамически менять параметры frame (высоту, ширину)?
Всем привет! Как динамически менять параметры frame (высоту, ширину)?

Windows service: как закрыть возможность для пользователя менять параметры службы?
Как закрыть возможность для пользователя менять параметры службы?

3
 Аватар для Egor.S
215 / 180 / 79
Регистрация: 02.10.2011
Сообщений: 651
11.04.2018, 17:02
props не статичные, если их обновить, то компонент вызовет render повторно
0
4 / 4 / 3
Регистрация: 15.12.2015
Сообщений: 184
11.04.2018, 18:57  [ТС]
а как можно перезадать props у уже размещенного компонента?
Я почитал что можно использовать redux для управления компонента.
0
23 / 16 / 7
Регистрация: 17.10.2012
Сообщений: 74
23.04.2018, 23:10
Здравствуйте.
Вы же где-то компоненту вызывали для рендера с передачей в неё пропса message: <Modal message=“My message” />
Вот если Вы измените этот пропс message, то и компонента перерендерится: <Modal message=“My new message” />
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.04.2018, 23:10
Помогаю со студенческими работами здесь

Как отдать параметры (команды) уже запущенной проге с Ворда?
здравствуйте ' Запуск программы с параметрами ' SHELL &quot;&lt;полный путь к исполняемому файлу&gt; парамер1 параметр2 ......

Менять параметры
&lt;h3&gt;Создание заявки на вывод&lt;/h3&gt; &lt;form method=&quot;post&quot; action=&quot;&lt;?=$app-&gt;urlFor('cashoutNewPost')?&gt;&quot;&gt; &lt;div...

Менять параметры текста.
Простой редактор. Как сделать так, что бы изменялся не весь текст в боксе на заданный, а только тот который будет введен или который...

Как можно менять значение в реестре?
как можно менять значение в реестре если можно то примерчик

Как можно менять текстовое содержимое innerText и в NN, и в IE?
Как можно менять текстовое содержимое innerText и в NN, и в IE. Т.е. в чем фишка - не могу ни фига менять текст на каком-либо слое. ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru