reactjs - 反应你不能在常规函数中传递道具,但你可以通过类组件传递道具
问题描述
我尝试创建一个类并在 Time 组件下传递名为 input 的道具,道具呈现道具名称但是我做同样的事情,但我没有使用类,而是使用名为 Kite 的函数并尝试做同样的事情,但我得到了控制台中的对象错误并且页面上没有呈现任何内容有没有一种方法可以通过常规函数而不是类传递道具?
function Kite() {
return (<h1>{this.props.kiteprop}</h1>)
}
class Time extends React.Component {
render() {
return (
<div>
<Test input="dsa" />
<Kite kiteprop="showtext" />
<div>{this.props.input}</div>
<span>{new Date().toLocaleDateString()}</span>
</div>
);
}
}
ReactDOM.render(<Time input="joe" input="[1, 2]" input="false" />, document.getElementById("root"));
解决方案
更好的语法是:
const Kite = (props) => {
return(<h1>{props.kiteprop}</h1>)
}
export default Kite;
并将组件分成两页js。
请注意,我们将 props 传递到组件的参数中,此处无需使用this
。
推荐阅读
- node.js - 子模块无法安装依赖项(全局安装)- 相对路径问题?
- json - 如何将逗号分隔的 JSON 字符串反序列化为单独字符串的向量?
- python - 如何生成列表
与zeep? - php - Yii如何上传视频和音频?
- javascript - TinyMCE如何在右侧显示同一页面的内容?
- sublimetext3 - Sublime Text 3,侧边栏增强功能不起作用
- c# - 如何在 C# 中按 Id 获取特定报告
- c# - .Net Core 与 .NET Framework 性能问题
- javascript - 大型(5977x8340)画布未在 ios 上显示
- symfony4 - 如何在 Symfony 4 的 EntityType 中设置选定的选项