#reactjs #iframe
Вопрос:
У меня есть страница, написанная в React:
const Page = () => {
const iframeRef = useRef(null);
const iframe = <iframe src="/some-url" ref={iframeRef} />;
// place iframe in 2 places
return (
<div>
{iframe}
...some other content
{iframe}
</div>
);
};
Что он делает, так это просто загружает iframe и помещает его в 2 места на одной странице.
В текущей реализации страница рассматривает ее как 2 разных фрейма. Оба удара по URL /some-url
-адресу , что действительно замедляет весь процесс загрузки и создает нагрузку на сервер.
Я хочу оптимизировать это, просто загрузив iframe один раз. Всего один iframe, попадающий по этому URL-адресу, и как только это будет сделано, создайте его копию и поместите ее на 2-е место.
Как мне этого добиться?
Комментарии:
1. Я не уверен , но причина, по которой фреймы загружаются как разные фреймы, заключается в том, что это разные фреймы. И причина не в React, а в HTML. Может быть, вы можете отложить загрузку iframes? Может быть, загрузить их в didMount?
2. в React нет такой вещи, которая позволяла бы вам использовать один экземпляр и помещать его в два разных места. Эти два
iframe
должны быть физически двумя экземплярами, хотя они могут быть получены из одного и того же компонента. Однако, если я загружу содержимое веб-страницы один раз, смогу ли я отобразить результат в двух разных местах? да, ты можешь. Поэтому вам нужно отобразить html в качестве содержимого API.