Im Moment versuche ich meine erste Reaktion & Redux und Typoskript zu entwickeln, aber ich stecke bei der Deklaration einer Aktion fest. Der Typescript-Compiler wirft immer noch den gleichen Fehler immer wieder.redux-aktionen Typoskript eine Aktion deklarieren
Vielleicht habe ich etwas von dem Konzept missverstanden.
Der Code basiert auf this Tutorial.
Wäre über jede Hilfe
graphActions.ts
/// <reference path="../../../typings/index.d.ts"/>
import { createAction, Action } from 'redux-actions';
import * as _ from 'lodash';
import {IGraphObject} from "../components/graph/GraphObject";
import {Graph} from "../models/Graph";
import {ADD_GRAPH} from "../constants/ActionTypes";
const addGraph = createAction<Graph>(
ADD_GRAPH,
(graph: IGraphObject) => ({graphObject: graph})
);
export {
addGraph
}
Graph.ts
import {IGraphObject} from "../components/graph/GraphObject";
export type Graph = {
id?: number;
graphObject: IGraphObject
}
GraphObject.ts
export interface IGraphObject {
id?: number;
graphConfig: IGraphConfig;
graphInstance: any;
initGraph(container: HTMLElement);
addShape(shape: ICustomShapeElement);
}
Der Typoskript Compiler gerne wirft
(11,5): error TS2345: Argument of type '(graph: IGraphObject) => { graphObject: IGraphObject; }' is not assignable to parameter of type '(...args: { id?: number; graphObject: IGraphObject; }[]) => { id?: number; graphObject: IGraphObj...'.
Types of parameters 'graph' and 'args' are incompatible.
Type '{ id?: number; graphObject: IGraphObject; }' is not assignable to type 'IGraphObject'.
Property 'graphConfig' is missing in type '{ id?: number; graphObject: IGraphObject; }'.
Die Diagramme für die redux Speicher sind eine einfache Art, dass die komplexeren Graph-Instanzen enthalten sollte. Was ich erreichen möchte, ist: Benutzer klickt auf addGraph Knopf => Ich erstelle eine graphObjectInstance und schicke diese an den Redux-Shop. Wie in dem Beispiel, dass es eine Todo aus einer Zeichenfolge erstellen sollte –
Ok, dann denke ich, dass es addGraph = createAction sein sollte, wenn ich es richtig verstanden habe. –
Daniel
Gelöst es. Ein Blick auf die index.d.ts von redux-actions hat mir geholfen. 'const addGraph = createAction' –