我不明白如何在React中创建元素。在React中创建元素
我有一些代码,下面的目标是创建表单上的元素使用refs
的值提交 - 所以对于表单中的每个提交,它会创建一个新的<h1>
标记,其中包含文本框的内容。什么我试图做一个样品是这样的:
...
addHeader(e) {
e.preventDefault();
const newHeader = this.refs.post.value;
var newpost = React.createElement("h1", {
type: "text",
value: newHeader
});
}
...
render() {
return (
<div className="form-section">
{ newPost }
<form onSubmit={this.addHeader.bind(this)}>
<input id="input-post" type="text" placeholder="Post Here" ref="post" />
<input type="submit" value="Submit" />
</form>
<button className="form-section__submit" onClick={this.clearFields.bind(this)}>Clear All</button>
</div>
);
}
基本上我的想法是我addHeader()
功能我指定的newPost
对方法的变量和我的组件中调用它。此代码导致2个错误:
33:9警告 'newpost' 被分配一个值,但从来没有使用没有未使用的-瓦尔
49:13错误 'newPost' 没有定义无为undef
我不明白,是(从我能看到的)我分配一个值给该变量,并在我正在渲染的组件中使用它...与此同时,我没有理解这个错误信息。怎样才能赋值给某个值,但同时不确定......?是因为它在错误的范围内吗?我如何声明新元素在组件中的具体位置?
I read the documentation但它没有给出明确的答案,就如何控制组件中新元素的渲染位置。
您的变量名为'newpost',但您在'render()'中使用'newPost'。请注意小写字母与大写字母'p'。 – Purag
它也是无法访问的,因为它在另一个方法的范围内。 –
另外,如果您已经使用jsx,则无需使用React.CreateElement。 –