javascript - Typescript React/Redux 指南 - 如何从 js 翻译?

标签 javascript typescript visual-studio-code react-redux

我正在翻译这个guide 。这是我迄今为止翻译的代码(在 Todo.tsx 中):

import * as React from 'react'
import * as PropTypes from 'react';

interface ITodo
{
  onClick : ()=>void,
  completed : boolean,
  text : string
}
​
const Todo = ({ onClick, completed, text } : ITodo) => (
  <li
    onClick={onClick}
    style={ {
      textDecoration: completed ? 'line-through' : 'none'
    }}
  >
    {text}
  </li>
)

但是我在第二部分(在 js 中:)中遇到了困难

Todo.propTypes = {
  onClick: PropTypes.func.isRequired,
  completed: PropTypes.bool.isRequired,
  text: PropTypes.string.isRequired
}

因为 PropTypes 似乎不包含任何 boolfuncstring 成员。

最佳答案

首先,几乎没有理由将 PropTypes 与 TypeScript 一起使用。

其次,您可能需要考虑启用 allowSyntheticDefaultImports 或最近添加的内容,我将其名称转义到您的 tsconfig.json 中,这样您就可以避免 导入*为

第三,您应该将 SFC 定义为 React.SFC,而不是在参数中断言预期的 props。如下:

const Todo: React.SFC<ITodo> = (props) => ();

您当然可以像以前一样解构并使用 JSX。

关于javascript - Typescript React/Redux 指南 - 如何从 js 翻译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52744128/

相关文章:

java - VS Code 标志 System.out.print

javascript - 使用 AngularJS 向 KDB+ 进程发送 HTTP GET 请求

html - 禁用的按钮在 Angular 6 中不起作用

javascript - 将 Array.prototype.concat.apply([], [x]) 重构为 [].concat(x) 会引发错误

javascript - typescript const x = [...this.x]

docker - 如何在docker中调试odoo?

javascript - 如何获取html标签的字体大小

javascript - 通过 WinForm 查看 Google 日历

javascript - 如何在文件中存储有关用户的信息,然后读取和修改它们

flutter - VSCode Ctrl+Space 不显示 Dart 的类选项