J’utilise Typescript avec React pour un projet. Le composant principal obtient l’état passé avec cette interface. interface MainState { todos: Todo[]; hungry: Boolean; editorState: EditorState; //this is from Facebook’s draft js } Cependant, le code ci-dessous (uniquement un extrait) ne sera pas compilé. class Main extends React.Component { constructor(props) { super(props); this.state = { todos: […]
J’ai une interface générique comme cet exemple avec une contrainte de type unique: export interface IExample { getById(id: number): T; } Est-il possible de spécifier plusieurs contraintes de type au lieu d’une seule?
J’ajoute normalement des gestionnaires de liaison knock-out personnalisés en JavaScript via ko.bindingHandlers.myBindingHandler = {…} mais maintenant je dois les append dans TypeScript via ko.bindingHandlers[“myBindingHandler”] = {…} sinon je reçois cette erreur parce que j’utilise typescript.d.ts : La propriété ‘myBindingHandler’ n’existe pas sur la valeur de type ‘KnockoutBindingHandlers’ Je n’aime pas l’approche [“property”] car je ne […]
Est-il possible de charrier tout le dossier en utilisant tslint? En utilisant eslint, il est possible de faire eslint ./src pour valider tout le dossier. Lorsque j’essaie de faire la même chose pour tslint – je reçois une erreur Error: EISDIR: illegal operation on a directory . Dans leurs exemples sur le site, ils montrent […]
J’ai cet exemple très basique qui utilise une map opérateur louable avec un pipe de rxjs@5.5 : import { map } from ‘rxjs/operator/map’; let o = of(1, 2, 3, 4).pipe( map((v) => v * 2) ); Mais il produit l’erreur Error:(34, 5) TS2684:The ‘this’ context of type ‘void’ is not assignable to method’s ‘this’ of […]
J’ai les webpack.config.js suivants var path = require(“path”); var webpack = require(‘webpack’); module.exports = { entry: { ‘ng2-auto-complete’: path.join(__dirname, ‘src’, ‘index.ts’) }, resolve: { extensions: [”, ‘.ts’, ‘.js’, ‘.json’, ‘.css’, ‘.html’] }, output: { path: path.join(__dirname, ‘dist’), filename: “[name].umd.js”, library: [“[name]”], libraryTarget: “umd” }, externals: [ /^rxjs\//, //…. any other way? rx.umd.min.js does work? /^@angular\// […]
Je donne un coup à la dactylographie. Ça marche très bien sur la scène du salut. J’essaie maintenant d’utiliser un module npm: index.ts = import _ = require(‘lodash’) console.log(_.toUpper(‘Hello, world !’)) Cela ne fonctionne pas: tsc index.ts -> Cannot find module ‘lodash’. (2307) Cannot find module ‘lodash’. (2307) node-ts index.js -> Cannot find module ‘lodash’. […]
Lorsque noImplicitThis dans tsconfig.json , j’obtiens cette erreur pour le code suivant: ‘this’ implicitly has type ‘any’ because it does not have a type annotation. class Foo implements EventEmitter { on(name: ssortingng, fn: Function) { } emit(name: ssortingng) { } } const foo = new Foo(); foo.on(‘error’, function(err: any) { console.log(err); this.emit(‘end’); // error: `this` […]
Venant d’un arrière-plan C #, je veux créer un type de données qui définit une signature de fonction. En C #, ceci est un delegate déclaré comme ceci: delegate void Greeter (ssortingng message); public class Foo { public void SayHi (Greeter g) { g(“Hi!”); } } Maintenant, je veux atteindre similaire dans Typescript. Je sais […]
Je voulais écrire un paramètre de type number , mais j’ai mal orthographié le type, en écrivant plutôt Number . Sur mon IDE (JetBrains WebStorm), le type Number est écrit avec la même couleur que celle utilisée pour le number type primitif, alors que si j’écris un nom de classe (connu ou inconnu), il utilise […]