React,带有打字稿的观察者无状态组件
React, observer stateless component with typescript
我在将 React 与 TypeScript 结合使用时遇到了一些问题,现在我坚持让无状态组件成为观察者。顺便说一句,我正在使用 MobX。
无状态组件:
const TaskItem: React.SFC<{task: Task, deleteTask: (e:any) => void}> = (props) => (
<li onClick={ props.deleteTask }>{ props.task.name }</li>
);
下面的代码给出了将 ClassicComponent 分配给 StatelessComponent 的类型不匹配,但我无处解决它。
错误:
[TS]
类型 'ClassicComponentClass<{ task: Task; deleteTask: (e: any) => void; }>' 不可分配给类型 'StatelessComponent<{ task: Task; deleteTask: (e: any) => void; }>'.
const TaskItem: React.SFC<{task: Task, deleteTask: (e:any) => void}> = observer((props) => (
<li onClick={ props.deleteTask }>{ props.task.name }</li>
));
如何让无状态组件成为观察者?有没有 "prettier" 的写法?
看起来像这样:
const App = observer((props: {test: string}) =>
<div>{props.test}</div>
);
ReactDOM.render(<App test="sdsdfsddddddddddddddddddf" />
,document.getElementById('root'));
我在将 React 与 TypeScript 结合使用时遇到了一些问题,现在我坚持让无状态组件成为观察者。顺便说一句,我正在使用 MobX。
无状态组件:
const TaskItem: React.SFC<{task: Task, deleteTask: (e:any) => void}> = (props) => (
<li onClick={ props.deleteTask }>{ props.task.name }</li>
);
下面的代码给出了将 ClassicComponent 分配给 StatelessComponent 的类型不匹配,但我无处解决它。
错误: [TS] 类型 'ClassicComponentClass<{ task: Task; deleteTask: (e: any) => void; }>' 不可分配给类型 'StatelessComponent<{ task: Task; deleteTask: (e: any) => void; }>'.
const TaskItem: React.SFC<{task: Task, deleteTask: (e:any) => void}> = observer((props) => (
<li onClick={ props.deleteTask }>{ props.task.name }</li>
));
如何让无状态组件成为观察者?有没有 "prettier" 的写法?
看起来像这样:
const App = observer((props: {test: string}) =>
<div>{props.test}</div>
);
ReactDOM.render(<App test="sdsdfsddddddddddddddddddf" />
,document.getElementById('root'));