[英]React, observer stateless component with typescript
Im having some problems using React with TypeScript and now Im stuck with making a stateless component an observer. 我在使用React和TypeScript时遇到了一些问题,现在我坚持将无状态组件作为观察者。 Im using MobX btw. 我使用MobX btw。
StatelessComponent: StatelessComponent:
const TaskItem: React.SFC<{task: Task, deleteTask: (e:any) => void}> = (props) => ( <li onClick={ props.deleteTask }>{ props.task.name }</li> );
Code below gives type missmatch assigning ClassicComponent to StatelessComponent and im getting nowhere solving it. 下面的代码给出了类型missmatch将ClassicComponent分配给StatelessComponent并且我无法解决它。
Error: [ts] Type 'ClassicComponentClass<{ task: Task; 错误:[ts]输入'ClassicComponentClass <{task:Task; deleteTask: (e: any) => void; deleteTask:(e:any)=> void; }>' is not assignable to type 'StatelessComponent<{ task: Task; '>'不能赋值为'StatelessComponent <{task:Task; deleteTask: (e: any) => void; deleteTask:(e:any)=> void; }>'. }>”。
const TaskItem: React.SFC<{task: Task, deleteTask: (e:any) => void}> = observer((props) => ( <li onClick={ props.deleteTask }>{ props.task.name }</li> ));
How do I make a stateless component an observer? 如何使无状态组件成为观察者? And is there a "prettier" way to write this? 有没有“更漂亮”的方式来写这个?
Looks like this works: 看起来像这样:
const App = observer((props: {test: string}) => <div>{props.test}</div> ); ReactDOM.render(<App test="sdsdfsddddddddddddddddddf" /> ,document.getElementById('root'));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.