考虑以下使用流道具的示例。
import * as React from 'react';
type FooProps = {|
foo: number,
bar?: string
|};
class Foo extends React.Component<FooProps> {}
Run Code Online (Sandbox Code Playgroud)
我们有 React 组件类Foo,它接受一个确切的道具对象。我们希望强制执行准确性,以便用户不会无意中在他们的道具上打错字(例如,baz当他们打算使用 时bar)。
这绝对可以正常工作,并且会按预期发生错误。
但是,如果我们想从其他地方将 props 传播到这个组件怎么办?例如:
const f = (props: FooProps) => <Foo {...props} />;
Run Code Online (Sandbox Code Playgroud)
Flow 会给我们一个关于正确性的错误props:
10: const f = (props: FooProps) => <Foo {...props} />;
^ Cannot create `Foo` element because inexact props [1] is incompatible with exact `FooProps` [2].
References:
10: const f = (props: FooProps) …Run Code Online (Sandbox Code Playgroud) 我需要规范化这些数据,以便我有一个列表数组和另一个待办事项.
const data = [
{
_id: '1',
title: 'List1',
todos: [
{
_id: "11",
text: "Test1"
}
]
},
{
_id: '2',
title: 'List2',
todos: [
{
_id: "22",
text: "Test2"
}
]
}
];
Run Code Online (Sandbox Code Playgroud)
这是我得到的:
const todo = new schema.Entity('todos',{},{ idAttribute: '_id'});
const list = new schema.Entity('lists',{todos:todo},{idAttribute: '_id'});
const normalizedData = normalize(data, list);
console.log(normalizedData);
Run Code Online (Sandbox Code Playgroud)
我一直在尝试他们的例子,但它们似乎都不适用于这些数据.
任何帮助,将不胜感激.