【发布时间】:2020-12-17 08:28:38
【问题描述】:
我正在将我的 React 项目转换为 Typescript。
我有这样的状态:
AdminBlogPostContainer.tsx
const [blogPost,setBlogPost] = useState<null | BLOGPOST>(null);
return(
<AdminBlogPostPage
blogPost={blogPost as BLOGPOST}
setBlogPost={setBlogPost}
/>
);
AdminBlogPostPage.tsx
interface AdminBlogPostPage {
blogPost: BLOGPOST,
setBlogPost: // <---- WHAT SHOULD I USE AS TYPE HERE ?
}
const AdminBlogPostPage: React.FC<AdminBlogPostPage> = (props) => {
console.log("Rendering AdminBlogPostPage...");
return(
// ...
);
};
export default AdminBlogPostPage;
这是错误信息:
【问题讨论】:
-
无论如何你都不应该改变孩子的父母状态
-
感谢您的回复。但无论我是否应该从父级更改子级的状态,有没有人知道在这种情况下我应该为
setState函数使用什么类型? -
由于不接受答案,因此无法作为重复项关闭,否则应该是...stackoverflow.com/q/63551792
-
@PatrickRoberts 谢谢!!这就是我一直在寻找的。所以在我的情况下,我应该使用:
React.Dispatch<React.SetStateAction<null | BLOGPOST>>?随时在这里回答,如果可行,我会接受您的回答。 -
欣赏接受的答案,继续并从另一篇帖子中删除我的答案,并将其改为规范副本。
标签: reactjs typescript react-hooks typescript-typings use-state