私はこれのための名前、従ってタイトルを知らない。なぜこのような変数を割り当てるのですか?
私は基本的に(新しいエントリを作成する)のどちらかが(編集用)の小道具を経由して渡されたデータをロードしたり、空の構造体をロードすることによって、私のモーダルフォームを初期化:
はdefaultStruct: {
text: null,
active: true,
options: [
{
text: null,
correct: true,
position: 0,
_destroy: false,
}
]
},
getInitialState() {
return {
question: this.props.initialQuestion == null ? this.defaultStruct : this.props.initialQuestion,
};
}
主なアイデアは、使用してフォームをリセットすることですフォームを送信した後、再度このデフォルトを再構築してください。
私がconsole.log(this.defaultStruct)を送信した後、実際にフォームの状態のデータが入力されていることがわかりました。だから...一体何?
handleSubmit(e){
if(e){e.preventDefault();}
$.ajax({
url: this.state.question.id == null ? this.props.applicationData.routes.questionsCreate : this.props.applicationData.routes.questionsUpdate,
dataType: 'json',
contentType: 'application/json',
type: 'POST',
data: this.digestDataForStupidRails('question', 'options'),
success: function(data) {
console.log(this.defaultStruct)
}.bind(this),
error: function(xhr, status, err) {
}.bind(this)
});
}
コンソール出力は:もちろん
{
"question": {
"text": "preg 1",
"active": true,
"options": [
{
"text": "preg 1 a 1",
"correct": false,
"position": 0,
"_destroy": false
},
{
"text": "preg 1 a 2",
"correct": true,
"position": 1,
"_destroy": false
}
]
}
}
私の代わりに関数を使用してこの問題を解決し、それが空のstructを毎回返すよう、しかしこれにもかかわらず、私は好奇心続けることができます。
誰でもこの現象を説明できますか?
ああ、今私はjavascriptについてもっと知っている、ありがとう! –