Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用react定义编译typescript_Typescript_Reactjs - Fatal编程技术网

如何使用react定义编译typescript

如何使用react定义编译typescript,typescript,reactjs,Typescript,Reactjs,我正在尝试编写一个使用React.addons.update的typescript模块。然而,我找不到一种方法来编译它 我有一个包含以下文件的文件夹: 测试内容包括: /// <reference path="react.d.ts"/> React.addons.update({}, {test : {$set : "foo" }}); // repact.addons.update({},{test:{$set:“foo”}); 我运行以下命令: node <pat

我正在尝试编写一个使用
React.addons.update
的typescript模块。然而,我找不到一种方法来编译它

我有一个包含以下文件的文件夹:

  • 测试内容包括:

    /// <reference path="react.d.ts"/>
    React.addons.update({}, {test : {$set : "foo" }});
    
    //
    repact.addons.update({},{test:{$set:“foo”});
    
我运行以下命令:

node <pathtotsc>\tsc -v
=> message TS6029: Version 1.3.0.0

node <pathtotsc>\tsc react.d.ts test.ts
=> test.ts(2,1): error TS2304: Cannot find name 'React'.
node\tsc-v
=>消息TS6029:版本1.3.0.0
节点\tsc react.d.ts test.ts
=>test.ts(2,1):错误TS2304:找不到名称“React”。
我错过了什么?如何正确引用react定义

编辑

node <pathtotsc>\tsc test.ts
test.ts(2,1): error TS2304: Cannot find name 'React'.
node\tsc test.ts
test.ts(2,1):错误TS2304:找不到名称“React”。

可以找到相关信息。诀窍是“反向”解释,以理解定义文件是如何使用的

在这种情况下,react.d.ts的使用方式如下:

/// <reference path="react.d.ts"/>
import React = require("react/addons");
React.addons.update({}, {$set : "foo" });

这是可行的,但遗憾的是,
update
的接口声明不正确,因此即使进行了此修改,我也无法使用它。

或者,您可以使用
react addons.d.ts
文件(可在NuGet上获得或通过明确键入)

//
repact.addons.update({},{test:{$set:“foo”});

截至2016年1月14日,使用React 0.14.3和Typescript 1.6.2,以下d.ts导入最终使Typescript识别ts文件中的
React
ReactDom

tsd安装反应全局--保存
tsd更新--保存--覆盖

我原来一定用过一本旧教程。它说我只需要
react.d.ts
文件。但从那时起,React的新版本似乎需要更多的定义文件

安装
react global
将所有这些文件添加到我的tsd.d.ts中:

//
/// 
/// 
/// 
/// 
/// 
/// 
/// 
/// 
/// 

declare var React : AddonsExports
/// <reference path="scripts/typings/react-addons/react-addons.d.ts" />

React.addons.update({}, { test: { $set: "foo" } });