【发布时间】:2020-04-03 07:28:50
【问题描述】:
我想使用 react hooks 更改道具,我找到了将 setState 函数作为道具传递给孩子的方法。
Container.tsx
const Container: React.FC = () => {
const [num, setNum] = useState(0);
return <Counter num={num} setNum={setNum} />;
};
Counter.tsx
interface CounterProps {
num: number;
setNum: React.Dispatch<React.SetStateAction<number>>;
}
const Counter: React.FC<CounterProps> = ({ num, setNum }) => {
const handleClick = () => {
setNum(num + 1);
};
return (
// jsx codes...
);
};
它运作良好,但我必须为父组件的每个状态添加两个道具。有没有更有效的方法来解决这个问题?
【问题讨论】:
-
我认为使用两个这样的道具是没有问题的。这看起来很清楚。
标签: reactjs typescript react-hooks