Суть в том, что слово reference в выражении «передать по ссылке» означает нечто совершенно отличное от обычного значения слова reference в Java.
Обычно в Java ссылка означает ссылку на объект . Но технические термины проходят по ссылке / значению из теории языка программирования, говорят о ссылке на ячейку памяти, в которой хранится переменная , что является чем-то совершенно другим.
Когда type = "button", кнопка будет работать как обычная кнопка, которая будет такой же, если вы поместите ее внутри формы или снаружи.
Но форма - это то, что вы отправляете на сервер, поэтому в этом случае у вас должно быть type = "submit", а кнопка должна быть внутри формы, потому что если вы дадите type = "submit" и поместите За пределами формы вы ничего не отправляете.
Надеюсь, это очистит ваше сомнение.
Ваш вопрос связан не только с реакцией, здесь есть аналогичный вопрос: Нужна ли мне роль = & quot; кнопка & quot; на кнопку < button >?
Ответ заключается в том, что тип кнопки по умолчанию является кнопкой, поэтому не имеет значения, если вы добавите этот тип к своей кнопке
Вы Также следует взглянуть в на документы - в разделе формы и понять «способ реагирования» на использование формы - он мало отличается от обычного использования формы, а роль кнопок отличается. [115 ]
Я рекомендовал прочитать эту статью , которая очень хорошо освещает тему кнопок в обычной форме.
Обычный способ отправки форм - это сохранение тега кнопки внутри формы.
Если кнопка находится внутри тега формы, вы должны присвоить ей тип submit и в теге формы включить событие onSubmit с функцией, которая вызывается при нажатии кнопки.
<form onSubmit={this.onSubmit}>
//Input fields
<button type="submit">Submit</button>
</form>
Если вы предпочитаете держать кнопку за пределами тега формы, вам нужно поместить на кнопку событие onClick и получить входные значения через состояние.
<form>
//Input fields
</form>
<button onClick={this.onClick}>Submit form details</button>
Одно из основных различий между ними заключается в том, что нажатие клавиши «Ввод» рассматривается как отправка, но при использовании щелчка он не может считаться нажатием.