Reactで要素がどのように作成されるのか分かりません。Reactで要素を作成する
私はrefs
の値を使用してフォーム送信時に要素を作成することを目標にしていますので、フォーム内のすべての送信に対して、内部にテキストボックスの内容を含む新しい<h1>
タグを作成します。基本的に私の考えは、私はこの方法にnewPost
の変数を割り当て、私のコンポーネントの中でそれを呼んでいる私のaddHeader()
機能である
...
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>
);
}
:私は何をしようとしているのサンプルは次のようになります。このコードは、2つのエラーの原因となっている。
33:9警告 'newpost' は値が割り当てられますが49:13エラー 'newPostは'
無undefを定義しないされない未使用-varsのないを使用することはありません
私は理解できませんが、私はその変数に値を割り当てており、それをレンダリングしているコンポーネントで使用しています...それと一緒に、私はしませんこのエラーメッセージを理解してください。何かに値を割り当てることができますが、同時に定義されていないものは...?それは間違った範囲にあるからですか?新しい要素がコンポーネント内で具体的にレンダリングされる場所を宣言するにはどうすればよいですか?
I read the documentationしかし、新しい要素がどこにレンダリングされるかを制御する方法については明確な答えはありません。
変数の名前は 'newpost'ですが、' render() 'で' newPost'を使用します。小文字と大文字の 'p'に注意してください。 – Purag
それは他のメソッドのスコープにあるのでアクセスできません。 –
また、すでにjsxを使用している場合、React.CreateElementを使用する必要はありません。 –