Я пытаюсь перенести некоторый код paperjs в новое приложение реагирования. Но я столкнулся с некоторыми ограничениями.
В HTML:
В настоящее время у меня есть 2 файла анимации в paperjs, и для каждого из них у меня есть файл HTML, который работает с
В реакции: следующие работы
componentDidMount() {
var canvas = document.getElementById("myCanvas");
paper.setup(canvas);
require('./Lesson_1.js');
paper.view.draw();
}
Реагирует: проблема
Мне нужно динамически изменить аргумент в require () в зависимости от выбора пользователя, ... НО
const lesson = './Lesson_1.js';
require(lesson)
не работает, так как функция require () нуждается в литерале !!
Вопрос 1: Есть ли обходной путь для этого, чтобы я мог потребовать урок по своему выбору, поскольку у меня может быть гораздо больше уроков? React, похоже, игнорирует теги сценария
Вопрос 2. Поскольку этот компонент не монтируется снова, когда пользователь выбирает другой урок, как очистить тот же холст и перезагрузить свежий файл js урока?
У меня нет проблем, способ, которым он работает в настоящее время, но портирование для реакции является проблемой. Кто-то предложил продолжать работать по-старому и создать iframe в реакции, чтобы показать содержимое, но я искал более чистое решение в реакции без зависимостей от других программ.
Спасибо за вашу помощь.