У меня есть React Router Link, которая вызывает функцию submitInput, когда я нажимаю на нее.
<Link onClick={submitInput} to={queryString}>Submit</Link>
Так выглядит функция submitInput. Он получает значение из входного элемента и обновляет переменную состояния с именем QueryString.
function submitInput() {
var inputTCN = $('#inputTCN').val();
var finalString = "?name=" + inputTCN;
setQueryString(finalString);
}
Так выглядит переменная состояния.
const [queryString, setQueryString] = React.useState("?name=");
Это мой проблема. Допустим, кто-то пишет «привет» в элементе ввода и нажимает «Отправить ссылку». URL меняется на «? Name =», а не «? Name = hello». Допустим, элемент ввода теперь изменен на «hello2». URL меняется на «? Name = hello», а не «? Name = hello2». И если элемент ввода изменяется на «hello3», URL-адрес изменяется на «? Name = hello2», а не «? Name = hello3».
Параметр url всегда на один шаг от состояния QueryString. Как мне предотвратить это?
PS: если я дважды щелкну ссылку «Отправить», параметр url и состояние QueryString совпадут.