Несколько входов - PullRequest
       0

Несколько входов

0 голосов
/ 23 марта 2020

Я хочу установить сообщение об ошибке в моих полях ввода, если значение недопустимо. Сообщение всегда будет одинаковым. Но сообщение отображается в каждом поле ввода, если значение недопустимо. Это лог c, если вы видите код. Но как я могу заставить это работать?

И да, я должен использовать состояние ошибки в родительском компоненте, потому что я поднял состояние. Из-за стилевых зависимостей ошибки проп. Для этого я использую styleled-компоненты.

Родительский компонент:

const List = (props) => {
  const [error, setError] = useState('');

  function handleChange(event) {
    const currentValue = parseInt(event.target.value, 10);
    if (currentValue > 10) {
      setError('Error');
    } else setError(null);
  }
  return (
      {items.map(item => (
        <MyInput
          value={item.value}
          key={item.input}
          error={error}
          handleChange={e => handleChange(e)}
        />

      ))}
  );
};

export default List;

Дочерний компонент:

const MyInput = (props) => {

  return (
    <>
            <input
              defaultValue={props.value}
              type="text"
              placeholder={props.value}
              onChange={e => props.handleChange(e)}
            />
      {props.error ? {props.error} : null}
    </>
  );
};

export default MyInput;

Возможно ли использовать состояние в родительский компонент? Я надеюсь, что вы можете помочь мне:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...