現在のMeteorプロジェクトでreact-bootstrapを使用しています。私はこのフォームを動作させるように見えません。私は間違って何をしていますか?私はFormControl入力の値を読み取ることができないようです。 "輸入/ UI /コンポーネント/アドオンspark.jsを::61::35予期しないトークン(35:61)は"MeteorでReact-Bootstrapを使用してFormControlから値を取得する方法
また、私のモーダルでは動作しません。私はこのエラーを取得しています現時点では
FormControlに 'ref = "city"'を追加すると、これ以上はありません。 はその後、私はこのエラーを取得する:私は私のモーダル作業に参照を取得するために管理している :
UPDATE:「キャッチされない不変違反ステートレス機能コンポーネントがREFSすることはできません」。しかし、私はまだフォームから価値を得ることができません。 私は途方もなく多くの問題を引き起こしたクラスオブジェクトにすることを忘れました。今でも、私は別のエラーを取得しています:
「キャッチされない例外TypeError:未定義のプロパティを読み取ることができません 『cityInput』」
を私はこのように私の機能を追加しようとすると:
<form onSubmit={ this.handleInsertSpark.bind(this) }>
私のモーダルはもはや動作しません。
const handleInsertSpark = (event) => {
event.preventDefault();
var city = ReactDOM.findDOMNode(this.refs.cityInput).value
console.log(city);
};
function FieldGroup({ id, label, help, ...props }) {
return (
<FormGroup controlId={id}>
<ControlLabel>{label}</ControlLabel>
<FormControl {...props} />
{help && <HelpBlock>{help}</HelpBlock>}
</FormGroup>
);
}
export default class AddSpark extends Component {
render() {
return (<div>
<form onSubmit={ handleInsertSpark }>
<FormGroup controlId="formControlsCity">
<ControlLabel>Select your city</ControlLabel>
<FormControl componentClass="select" placeholder="Choose your city" ref="cityInput" onClick={ moreOptions }>
<option value="select">Choose your city</option>
<option value="0">Beijing</option>
<option value="1">Shanghai</option>
<option value="2">Chengdu & Chongqing</option>
</FormControl>
</FormGroup>
<FormGroup controlId="formControlsPerson">
<ControlLabel>Select your person</ControlLabel>
<FormControl componentClass="select" placeholder="Choose your person">
<option value="select">First select your city</option>
</FormControl>
</FormGroup>
<FormGroup controlId="formControlsLocation">
<ControlLabel>Select your location</ControlLabel>
<FormControl componentClass="select" placeholder="Choose your location">
<option value="select">First select your city</option>
</FormControl>
</FormGroup>
<FieldGroup
id="formControlsText"
type="text"
label="Title"
placeholder="Enter your title"
/>
<FormGroup controlId="formControlsTextarea">
<ControlLabel>Content</ControlLabel>
<FormControl componentClass="textarea" placeholder="textarea" />
</FormGroup>
<div className="upload-area">
<p className="alert alert-success text-center">
<span>Click or Drag an Image Here to Upload</span>
<input type="file" onChange={this.uploadFile} />
</p>
</div>
<Button
type="submit">
Submit
</Button>
</form>
</div>
)}
}
"未定義のプロパティを読み取ることができません 'バインド'(...) - spark.jsを追加します。:53キャッチされない例外TypeErrorを" :私は、このエラーコードを取得します
はあなたが元の質問の多くを変更している、そしてで矛盾しているようです瞬間。現在利用可能なコードでは、 'handleInsertSpark'はクラスメソッドではなくarrow関数であり、これは' this'(おそらくグローバルオブジェクト)に字句的にバインドされていることを意味していますオブジェクトそのもの。これを解決した後、問題を示す短い自己完結型のバージョンを作成できますか? – MasterAM
返事を書く時間をとってくれてありがとう。私のことをもっと読んだら、私はそれが完全に間違っていることに気づいた。今それを考え出す。 Thnk – Deelux