繁体   English   中英

如何在不添加 typescript 的情况下在 React Hooks 中键入 state(如 prop-type - 以简单的方式)

[英]How to type state in React Hooks without adding typescript (like prop-type - in a simple way)

只是个小疑问。

如果我不想将 TS 添加到我的 React 项目中,但有时我需要一些类型检查。

虽然对于道具我有一个简单的道具类型解决方案,但对于 state 我什么也做不了。

那么有什么解决办法吗?

import PropTypes from 'prop-types';
//https://reactjs.org/docs/typechecking-with-proptypes.html - prop-types

    
export  function GreetingHook (props) {
    
    const [name2, setName2] = useState(10);//won't generate a warning.

    {
        return (
            <h1>Hello, {props.name}</h1>
        );
    }
}

GreetingHook.propTypes = {
    name: PropTypes.string,
    name2: PropTypes.string
};

//Some parent...
//Will generate a warning
<GreetingHook name = {5}/>

注意 - 关于 class 组件也应该问同样的问题。

您可以使用flow而不是 typescript,对于类型检查,您可以通过以下方式进行:

const [name2, setName2] = useState(10);
(name2: number);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM