Я изучаю ReactJS. Я создаю простую форму в React. Вот мой компонент для входа в систему:

function Login() {
    return (
        
) }

Я получаю эту ошибку:

Ошибка: input является тегом элемента void и не должен иметь children или использовать dangerouslySetInnerHTML.

Я нашел несколько решений на StackOverflow. Я узнал, что мне не следует содержать дочерние элементы. Поэтому я обернул свои входы в . Кроме того, я сделал форму управляемой, думая, что React может не разрешить неконтролируемые формы. Но все равно выдает ту же ошибку. Что я делаю не так?

Спасибо :)

Chaaru Manjuraj

Ответов: 1

Ответы (1)

Как и указано в ошибке, input является элементом void и поэтому не может содержать никаких вложенных элементов.

Также, чтобы снабдить отображаемым текстом элемент input[type=submit], нужно использовать атрибут value этого элемента.

function Login() {
    return (
        
); }

Обратите внимание, что это не просто проблема, связанная с reactjs. Да, в данном конкретном случае react предупреждает вас о том, что вы совершаете ошибку, но обычно вложение/вложенность элементов в элементы void делает ваш HTML недействительным. Так что это скорее вопрос HTML/семантики.

2022 WebDevInsider