Форум программистов, компьютерный форум, киберфорум
JavaScript: ReactJS
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
38 / 14 / 4
Регистрация: 28.01.2020
Сообщений: 170
1

children и redux-form

06.07.2021, 21:52. Показов 386. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите, плиз, проследить как и куда передаются тут props

Компоненты в левой части экрана на фото
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import React from "react";
import style from "./FormsControls.module.css";
 
const FormControl = ({ input, meta, ...props }) => {
  debugger;
  const hasError = meta.touched && meta.error;
 
  return (
    <div className={style.formControl + " " + (hasError ? style.error : "")}>
      <div>{props.children}</div>
      {hasError && <span>{meta.error}</span>}
    </div>
  );
};
 
export const Textarea = (props) => {
  const { input, meta, ...restProps } = props;
  return (
    <FormControl {...props}>
      <textarea {...input} {...restProps} />
    </FormControl>
  );
};
 
export const Input = (props) => {
  const { input, meta, ...restProps } = props;
  return (
    <FormControl {...props}>
      <input {...input} {...restProps} />
    </FormControl>
  );
};
Компоненты в правой части экрана(см фото)
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import React from "react";
import { reduxForm, Field } from "redux-form";
import { required } from "../../utils/validators/validators";
import { Input } from "../common/FormsControls/FormsControls";
 
const LoginForm = (props) => {
  return (
    <form onSubmit={props.handleSubmit}>
      <div>
        <Field
          placeholder={"Login"}
          name={"login"}
          component={Input}
          validate={[required]}
        />
      </div>
      <div>
        <Field
          placeholder={"Password"}
          name={"password"}
          component={Input}
          validate={[required]}
        />
      </div>
      <div>
        <Field component={Input} name={"rememberMe"} type={"checkbox"} />{" "}
        Remember me
      </div>
      <div>
        <button>Login</button>
      </div>
    </form>
  );
};
 
const LoginReduxForm = reduxForm({
  form: "login",
})(LoginForm);
 
const Login = (props) => {
  const onSubmit = (formData) => {
    console.log(formData);
  };
 
  return (
    <div>
      <h1>Login</h1>
      <LoginReduxForm onSubmit={onSubmit} />
    </div>
  );
};
 
export default Login;
Почему все пропсы (и те, что добавилa reduxForm()) попали сразу в FormControl, а не в Input, раз он вызывается. Почему потом только в Input приходит деструктурированная часть пропсов?
Вложения, ожидающие проверки
Тип файла: png четче.png
Тип файла: png пропсы.png
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.07.2021, 21:52
Ответы с готовыми решениями:

Redux-Form
Добрый день Начал использовать Redux-Form, на данный момент делаю изменение записей. Подскажите...

Redux form попытка очистить конкретный field
Всем привет, есть такая форма. &lt;form className={classes.listField}...

Redux+React. Взаимодействие redux store с сервером
Помогите понять такой момент: Приложение react+redux+ сервер на ноде. Пока не использовал сервер...

Чем отличается метод children от children()?
делаю вот такую конструкцию console.log($(&quot;.service-list&quot;).children.length); //выводит 2 ...

1
38 / 14 / 4
Регистрация: 28.01.2020
Сообщений: 170
07.07.2021, 17:06  [ТС] 2
Блин..
А все же так и происходит, как я думал.
Пропсы сначала приходят либо в Input либо в Textarea, а потом FormControl (см. строку 28 на скринах) собирает их и передает дальше пропсами в функциональную компоненту FormControl. И уже эта функция-компонента раскладывает их на input, meta, ...props

И что мне не понравилось с самого начала? Все же работает как надо...
Мда...

А свойства input и meta запихнула в пропсы под капотом функция reduxForm() в 36-ой строке (можно посмотреть в коде "правая часть")

Просто делает она это "под капотом", может это и пугает сразу...

Фу! Вроде понял!!!
Миниатюры
children и redux-form   children и redux-form   children и redux-form  

children и redux-form  
0
07.07.2021, 17:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.07.2021, 17:06
Помогаю со студенческими работами здесь

Заменить в последовательности каждую группу букв child на children и children на child
Дана последовательность символов a1...an. Заменить в последовательности каждую группу букв child на...

Form.Hide ; Form.Close ; Form.Show
Здравствуйте. Вот интересует один вопрос, в чём различие между Form1.Close; Form2.Show и...

External exception C000001D между Form.OnCreate и Form.OnShow
Поставил Delphi 10.3 Rio, так как в нём, вроде бы, наконец исправили очень важный для меня момент -...

Расскажите о пробеле. <% public ts ts = 'нет данных' %> <form> <input .... value =<%=ts%>> </form>
Присваиваю тексту значнение &lt;input .... value ='нет данных'&gt; всё хорошо. Усложняю задачу &lt;% ...

Непонятка с Request.Form: System.Web.HttpRequest.Form denotes a 'property' where a 'method' was expected
Приветствую. Пытаюсь использовать Request для приема отправленных данных из формы. Делаю ...

Подскажите, пожалуйста, как на Form загрузить картинку, т.е. щелкнуть по Form и на ней появилась картинка
Подскажите, пожалуйста, как на Form загрузить картинку, т.е. щелкнуть по Form и на ней появилась...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru