[React] React Fundamentals: transferPropsTo
the transferPropsTo
method lets you easily push properties into your components to easily customize attributes.
From last two exmaples, we have BButton adn BHeart set up.
var BButton = React.createClass({ render: function() { return ( <a className="btn btn-primary">{this.props.children}</a> ); } });
var BHeart = React.createClass({ render:function(){ return <span className="glyphicon glyphicon-heart"></span> } });
To get more fixability, we don't want button to be 'btn-primary' and icon to be 'glyphicon-hear', we may want something else.
Here we update the code:
var BButton = React.createClass({ render: function() { return this.transferPropsTo( <a className="btn">{this.props.children}</a> ); } }); var BIcon = React.createClass({ render:function(){ return this.transferPropsTo(<span className="glyphicon"></span>); } });
We take away 'btn-primay' and 'glyphicon-heart', let them just be a BButton and BIcon.
Then in the App, we can set whatever we want:
var App = React.createClass({ render: function(){ return ( <div> <BButton className="btn-danger">I <BIcon className="glyphicon-fire"></BIcon> React</BButton> <BButton className="btn-warning">I <BIcon className="glyphicon-heart"></BIcon> React</BButton> <BButton className="btn-success">I <BIcon className="glyphicon-home"></BIcon> React</BButton> </div> ); } });
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>React Lesson 6: Accessing Child Properties</title> <link rel="stylesheet" href="../bower_components/bootstrap/dist/css/bootstrap.min.css"/> </head> <body> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.12.2/react.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.12.2/JSXTransformer.js"></script> <script type="text/jsx"> /** @jsx React.DOM */ var App = React.createClass({ render: function(){ return ( <div> <BButton href="javascript:alert('Hello');" className="btn-danger">I <BIcon className="glyphicon-fire"></BIcon> React</BButton> <BButton href="javascript:alert('Hello');"className="btn-warning">I <BIcon className="glyphicon-heart"></BIcon> React</BButton> <BButton href="javascript:alert('Hello');" className="btn-success">I <BIcon className="glyphicon-home"></BIcon> React</BButton> </div> ); } }); var BButton = React.createClass({ render: function() { return this.transferPropsTo( <a className="btn">{this.props.children}</a> ); } }); var BIcon = React.createClass({ render:function(){ return this.transferPropsTo(<span className="glyphicon"></span>); } }); React.render(<App />, document.body); </script> </body> </html>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具