Javascript 如何将生成的HTML传递给JSX中的呈现函数?

Javascript 如何将生成的HTML传递给JSX中的呈现函数?,javascript,reactjs,jsx,Javascript,Reactjs,Jsx,在JSX组件的呈现函数中传递生成的HTML是否合法 ... //get variables elsewhere const input = <input type={inputType} ... /> return ( {input} ) ... 您发布的代码非常好,除了返回的之外(我们稍后会讨论这个问题);您不需要或不想使用字符串 请记住,JSX只是JavaScript代码的语法糖: const input = <input type={inputType} /&g

在JSX组件的呈现函数中传递生成的HTML是否合法

...
//get variables elsewhere
const input = <input type={inputType} ... /> 

return (
  {input}
)
...

您发布的代码非常好,除了返回的
之外(我们稍后会讨论这个问题);您不需要或不想使用字符串

请记住,JSX只是JavaScript代码的语法糖:

const input = <input type={inputType} />;
它创建元素对象,您当然可以在函数之间传递该对象,并且可以通过从
render
返回该对象进行渲染

要实现该返回,您只需要:

return input;
您的
返回({input})
将不起作用,因为您试图使用JSX语法在JSX外部插入JavaScript表达式(
{…}

实例:

类示例扩展了React.Component{
getTheThing(){
const inputType=“文本”;
常量输入=;
返回输入;
}
render(){
const input=this.getTheThing();
返回输入;
}
}
ReactDOM.render(
,
document.getElementById(“根”)
);

除了返回的
之外,您发布的代码是非常好的(我们稍后会讨论这个问题);您不需要或不想使用字符串

请记住,JSX只是JavaScript代码的语法糖:

const input = <input type={inputType} />;
它创建元素对象,您当然可以在函数之间传递该对象,并且可以通过从
render
返回该对象进行渲染

要实现该返回,您只需要:

return input;
您的
返回({input})
将不起作用,因为您试图使用JSX语法在JSX外部插入JavaScript表达式(
{…}

实例:

类示例扩展了React.Component{
getTheThing(){
const inputType=“文本”;
常量输入=;
返回输入;
}
render(){
const input=this.getTheThing();
返回输入;
}
}
ReactDOM.render(
,
document.getElementById(“根”)
);


谢谢。实际上,输入被包装在一个div中——我将编辑示例代码。这是对的吗?@Runnick:是的,很好;我已经更新了答案。在向问题添加类似内容时,如果答案中已经提到了以前的版本,请不要编辑该问题,以使答案无效。我已编辑了问题以解决此问题。:-)谢谢实际上,输入被包装在一个div中——我将编辑示例代码。这是对的吗?@Runnick:是的,很好;我已经更新了答案。在向问题添加类似内容时,如果答案中已经提到了以前的版本,请不要编辑该问题,以使答案无效。我已编辑了问题以解决此问题。:-)