Я хочу создать простой компонент Wizard
. Я не знаю, как связать handleChange
функцию для onChange
входное событие и как попасть в переданный контекст (это мой пользовательский класс, определенный где-то и установленный в ParentClass
).Функции связывания в шаблонах React
Uncaught SyntaxError: Unexpected token }
Вот мой Wizard
компонент и простой шаблон, который я создал, чтобы проверить:
export class ParentClass extends React.Component {
render() {
let template = `<input value=${context.testVal} onChange=${context.handleChange.bind(context, event)}>`; // how to invoke this code inside Wizard using TestContext class???
let testContext = new TestContext();
return (
<Wizard template={template} context={testContext} />
);
}
}
export class TestContext {
testVal = null;
constructor() {
this.testVal = 10;
}
handleChange(e) {
console.log(e);
}
}
export class Wizard extends React.Component {
context: null;
constructor(props) {
super(props);
this.context = this.props.context;
}
render() {
return (
<div dangerouslySetInnerHTML={{__html: this.props.template}}>
</div>
);
}
}
Я использую ES2015
и Babel
для компиляции.
[править]
Я отредактировал мой код и вопрос. Теперь я вижу, что вы, ребята, хотите сказать «удалить $».
U не понял меня. Я хочу объявить код HTML
с некоторыми привязками переменных (как строку) + некоторый класс контекста, который должен содержать всю логику для объявленного шаблона. Когда у меня есть эти, я хочу передать их как params в Wizard
и использовать шаблон для замены HTML
этого Wizard
(выполняется JSX
в то же время). Другими словами. Я хочу общий механизм для динамических шаблонов в компоненте Wizard
.
Просто удалите '' - шаблон не нужен в этом смысле - просто перейдите в '' – Chris
@Chris прав, также очевидно, что вам нужно также удалить знаки '' ' , –
Пожалуйста, посмотрите мой отредактированный вопрос. – Nickon