关于是否有必要在无状态组件中导入React,我没有找到任何文档,有一点辩论.所以:
//OPTION 1 import React,{ PropTypes } from 'react'; //OPTION 2 import { PropTypes } from 'react'; export const Button = ({ action }) => { return ( <button onClick={action}>Submit</button> ); } Button.propTypes = { action: PropTypes.func.isrequired,};
有人说选项1是使用JSX时的最佳做法;一些其他的思考组件将会失败,方法二.
我已经尝试过两次,我看不到任何差异,组件仍然可以在两种情况下工作.
选项1或选项2:哪一个是正确的?
解决方法
使用选项1,因为babel会转换你的jsx
< button onClick = {action}>提交< / button>
至
React.createElement(“button”,{onClick:action},“Submit”);
< button onClick = {action}>提交< / button>
至
React.createElement(“button”,{onClick:action},“Submit”);
所以当你看到反应必须在范围之内.你有两个选择:
> import反应来自’react’;>或全局定义React