React 函數(shù)式組件 子組件給父組件傳值2.0

簡單案例(點擊提交,查看console輸出)

關鍵點: 1. 父組件onUserNameChange={(value) => onUserNameChange(value)}
2.子組件在子組件中通過回調的方式,將值傳遞給父組件onUserNameChange(value);

  1. 子組件添加value和onChange,將input變?yōu)橛袪顟B(tài)組件(有點像vue中的雙向綁定)
import { Input } from "antd";
import React, { useState } from "react";
const UserNameInput = (props) => {
  const { onUserNameChange } = props;
  const [useNameValue, setUserNameValue] = useState();
  const onInputChange = (e) => {
    // Input不是直接是value媒怯,要看antd組件庫中各組件的屬性
    const { value } = e.target;
    // console.log(value, "children value");
    // 將值傳給父組件的回調函數(shù)
    onUserNameChange(value);
    // 將該組件變?yōu)橛袪顟B(tài)組件推正,useNameValue改變,組件重新渲染
    setUserNameValue(value);
  };
  return <Input value={useNameValue} onChange={onInputChange} />;
};
export default UserNameInput;
export { UserNameInput };
  1. 父組件回調函數(shù)接收子組件傳過來的值,并將值塞進form表單中蔗坯,實現(xiàn)父子組件通信
import React from "react";
import ReactDOM from "react-dom";
import { UserNameInput } from "./UserNameInput.js";
import "antd/dist/antd.css";
import "./index.css";
import { Form, Input, Button, Checkbox } from "antd";

const Demo = () => {
  const [basicForm] = Form.useForm();
  const onLogin = (values) => {
    basicForm
      .validateFields()
      .then((values) => {
        console.log("Success:", values);
      })
      .catch((errorInfo) => {
        console.error(errorInfo);
      });
  };

  const onFinishFailed = (errorInfo) => {
    console.log("Failed:", errorInfo);
  };

  const onUserNameChange = (value) => {
    // console.log(value, "father value");
    // 將值給form組件
    basicForm.setFieldsValue({ username: value });
  };

  return (
    <Form
      name="basic"
      form={basicForm}
      onFinish={onLogin}
      onFinishFailed={onFinishFailed}
    >
      <Form.Item
        label="Username"
        name="username"
        rules={[
          {
            required: true,
            message: "Please input your username!"
          }
        ]}
      >
        <UserNameInput onUserNameChange={(value) => onUserNameChange(value)} />
      </Form.Item>

      <Form.Item
        wrapperCol={{
          offset: 8,
          span: 16
        }}
      >
        <Button type="primary" htmlType="submit">
          Submit
        </Button>
      </Form.Item>
    </Form>
  );
};

ReactDOM.render(<Demo />, document.getElementById("container"));
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市燎含,隨后出現(xiàn)的幾起案子宾濒,更是在濱河造成了極大的恐慌,老刑警劉巖屏箍,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绘梦,死亡現(xiàn)場離奇詭異,居然都是意外死亡赴魁,警方通過查閱死者的電腦和手機卸奉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來颖御,“玉大人榄棵,你說我怎么就攤上這事∨斯埃” “怎么了疹鳄?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長芦岂。 經常有香客問我瘪弓,道長,這世上最難降的妖魔是什么盔腔? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任杠茬,我火速辦了婚禮,結果婚禮上弛随,老公的妹妹穿的比我還像新娘瓢喉。我一直安慰自己,他們只是感情好舀透,可當我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布栓票。 她就那樣靜靜地躺著,像睡著了一般愕够。 火紅的嫁衣襯著肌膚如雪走贪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天惑芭,我揣著相機與錄音坠狡,去河邊找鬼。 笑死遂跟,一個胖子當著我的面吹牛逃沿,可吹牛的內容都是我干的婴渡。 我是一名探鬼主播,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼凯亮,長吁一口氣:“原來是場噩夢啊……” “哼边臼!你這毒婦竟也來了?” 一聲冷哼從身側響起假消,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤柠并,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后富拗,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體臼予,經...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年媒峡,在試婚紗的時候發(fā)現(xiàn)自己被綠了瘟栖。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡谅阿,死狀恐怖半哟,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情签餐,我是刑警寧澤寓涨,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站氯檐,受9級特大地震影響戒良,放射性物質發(fā)生泄漏。R本人自食惡果不足惜冠摄,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一糯崎、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧河泳,春花似錦沃呢、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至纸兔,卻和暖如春惰瓜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背汉矿。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工崎坊, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人洲拇。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓流强,卻偏偏與公主長得像痹届,于是被迫代替她去往敵國和親呻待。 傳聞我的和親對象是個殘疾皇子打月,可洞房花燭夜當晚...
    茶點故事閱讀 45,512評論 2 359

推薦閱讀更多精彩內容