如果我有一个看起来有点像这样的类型集合,只会更详细:
type ValidValues = string | number | null
type ValidTypes = "text" | "time" | "unknown"
type Decorated = {
name?: string | null
type?: ValidTypes
value?: ValidValues
title: string
start: number
}
type Injected = {
extras: object
}
// overriding the types from Decorated
type Text = Decorated & Injected & {
name: string
type: "text"
value: string
}
Run Code Online (Sandbox Code Playgroud)
我的实际代码还有更多内容,但这显示了核心思想。我不想必须相信自己才能使类型之间的关系恰到好处。Text
在所有类型代数之后,我想要工具向我展示“评估”的类型定义。
因此,对于上面的示例,我希望 中指定的字段Text
将覆盖该Decorated
类型中先前的声明,并且我假设的工具提示的输出(我希望)会显示如下内容:
{
name: string
type: "text"
value: string
title: string …
Run Code Online (Sandbox Code Playgroud) 所以这有点疯狂。我使用的一个 Web 应用程序是用 React 构建的,它做出了一些我不同意的设计决策。
幸运的是,设计实际上很简单,可以完全按照我想要的方式进行更改。我可以打开 Chrome React devtools 并更改分配给特定组件的道具。
但是我不想每次都手动执行此操作,这不值得。我想编写一个(超级hacky)个人javascript,我可以将它注入到页面中,它修改传递给这个组件的道具。
想知道是否有人知道从 React 外部注入 props 的简单技巧。也许有可能挂钩 React 用来响应开发工具的任何机制?
javascript reactjs react-devtools react-props react-component
我收到此编译器错误.我有几百行代码,所以我会发布一些我认为可能相关的代码,但你需要告诉我你想看到的内容.
这是我在编译时得到的错误:
/tmp/ccBE5kZ5.o:game.cpp:(.text+0x1067): undefined reference to `vtable for Person'
/tmp/ccBE5kZ5.o:game.cpp:(.text+0x17a5): undefined reference to `vtable for Person'
/tmp/ccBE5kZ5.o:game.cpp:(.text+0x1ee6): undefined reference to `vtable for Person'
/tmp/ccBE5kZ5.o:game.cpp:(.text+0x2560): undefined reference to `vtable for Person'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: /tmp/ccBE5kZ5.o: bad reloc address 0xc in section `.text$_ZN6WeaponD1Ev[Weapon::~Weapon()]'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: final link failed: Invalid operation
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
这是我的Person
班级和我的Weapon
班级的宣言,而Actor
班级Person
是以下的后代:
class Actor {
public:
virtual void act();
virtual string getName();
virtual void setName(string n);
Actor();
Actor(string n);
virtual ~Actor();
private: …
Run Code Online (Sandbox Code Playgroud)