亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

react子組件怎么向父組件傳值

小億
227
2024-01-08 10:30:00
欄目: 編程語言

在React中,子組件向父組件傳值可以通過兩種方式實現:

  1. 通過回調函數: 父組件可以通過props將一個回調函數傳遞給子組件,子組件可以通過調用這個回調函數并傳遞參數來將值傳遞回父組件。

父組件示例代碼:

import React, { useState } from 'react';
import ChildComponent from './ChildComponent';

function ParentComponent() {
  const [value, setValue] = useState('');

  const handleChildValue = (childValue) => {
    setValue(childValue);
  };

  return (
    <div>
      <ChildComponent onValueChange={handleChildValue} />
      <p>Value from child component: {value}</p>
    </div>
  );
}

export default ParentComponent;

子組件示例代碼:

import React, { useState } from 'react';

function ChildComponent({ onValueChange }) {
  const [inputValue, setInputValue] = useState('');

  const handleChange = (event) => {
    setInputValue(event.target.value);
    onValueChange(event.target.value);
  };

  return (
    <div>
      <input type="text" value={inputValue} onChange={handleChange} />
    </div>
  );
}

export default ChildComponent;

在上面的示例中,子組件ChildComponent接收一個onValueChange的props,它是一個回調函數。當子組件的輸入框的值發生變化時,會調用handleChange函數,將輸入的值傳遞給onValueChange回調函數,從而將值傳遞回父組件。

  1. 使用Context: 父組件可以通過創建一個Context,并將需要傳遞的值放入Context的Provider中,子組件可以通過Context的Consumer來獲取這個值。

父組件示例代碼:

import React, { useState } from 'react';
import { MyContext } from './MyContext';
import ChildComponent from './ChildComponent';

function ParentComponent() {
  const [value, setValue] = useState('');

  return (
    <div>
      <MyContext.Provider value={value}>
        <ChildComponent />
      </MyContext.Provider>
      <p>Value from child component: {value}</p>
    </div>
  );
}

export default ParentComponent;

子組件示例代碼:

import React, { useContext, useState } from 'react';
import { MyContext } from './MyContext';

function ChildComponent() {
  const value = useContext(MyContext);
  const [inputValue, setInputValue] = useState('');

  const handleChange = (event) => {
    setInputValue(event.target.value);
  };

  return (
    <div>
      <input type="text" value={inputValue} onChange={handleChange} />
      <p>Value from parent component: {value}</p>
    </div>
  );
}

export default ChildComponent;

在上面的示例中,父組件ParentComponent創建了一個MyContext,并將value放入MyContext.Provider的value屬性中。子組件ChildComponent通過useContext來獲取MyContext的值,并將其顯示在頁面上。子組件也可以通過inputonChange事件來更新inputValue的狀態值,但這個值只在子組件中存在,并不會傳遞給父組件。

0
康乐县| 理塘县| 新龙县| 伊宁县| 平乐县| 泗洪县| 城固县| 栖霞市| 安宁市| 家居| 商城县| 延边| 嫩江县| 牡丹江市| 连州市| 崇州市| 灵武市| 青铜峡市| 盐山县| 海淀区| 普安县| 靖西县| 博罗县| 宜兴市| 清涧县| 文登市| 融水| 江北区| 出国| 太湖县| 岳普湖县| 凤凰县| 顺义区| 万源市| 大同县| 兴宁市| 彭水| 廊坊市| 五大连池市| 多伦县| 天台县|