我在使用React和TypeScript时遇到了一些问题,现在我坚持将无状态组件作为观察者。我正在使用MobX btw。
StatelessComponent:
const TaskItem: React.SFC<{task: Task, deleteTask: (e:any) => void}> = (props) => (
<li onClick={ props.deleteTask }>{ props.task.name }</li>
);
&#13;
下面的代码给出了类型missmatch将ClassicComponent分配给StatelessComponent并且我无法解决它。
错误: [TS] 键入&#39; ClassicComponentClass&lt; {task:Task; deleteTask:(e:any)=&gt;无效; }&GT;&#39;不能分配给类型&#39; StatelessComponent&lt; {task:Task; deleteTask:(e:any)=&gt;无效; }&GT;&#39;
const TaskItem: React.SFC<{task: Task, deleteTask: (e:any) => void}> = observer((props) => (
<li onClick={ props.deleteTask }>{ props.task.name }</li>
));
&#13;
如何使无状态组件成为观察者?是否有一个更漂亮的&#34;写这个的方法?
答案 0 :(得分:3)
看起来很有效:
const App = observer((props: {test: string}) =>
<div>{props.test}</div>
);
ReactDOM.render(<App test="sdsdfsddddddddddddddddddf" />
,document.getElementById('root'));