码迷,mamicode.com
首页 > 其他好文 > 详细

通过表达式、函数给React组件属性赋值

时间:2015-12-16 00:27:17      阅读:1861      评论:0      收藏:0      [点我收藏+]

标签:

一、需求

当有传属性name的值时,则显示Hello "name",否则显示Hello World

二、4种方式的代码实现

1.通过三元运算符

<!DOCTYPE html>
<html lang="zh-cn">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>

<body>
    <script src="./react-0.13.2/build/react.js"></script>
    <script src="./react-0.13.2/build/JSXTransformer.js"></script>
	<script type="text/jsx">
		var style = {
			color : "red",
			border: "1px #000 solid",
		};
		var HelloWorld = React.createClass({
			render: function(){
				return <p>你好,{this.props.name ? this.props.name : "World!"} </p>;
			}
		});
		React.render(<div style={style}><HelloWorld name="李小龙!"></HelloWorld></div>, document.body);
	</script>
</body>

</html>

  

2.通过变量

<!DOCTYPE html>
<html lang="zh-cn">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>

<body>
    <script src="./react-0.13.2/build/react.js"></script>
    <script src="./react-0.13.2/build/JSXTransformer.js"></script>
	<script type="text/jsx">
		var style = {
			color : "red",
			border: "1px #000 solid",
		};
		var HelloWorld = React.createClass({
			getName : function(){
				if(this.props.name)
					return this.props.name
				else
					return "World!"	
			},
			render: function(){
				var name = this.getName();
				return <p>你好, {name}</p>;
			}
		});
		React.render(<div style={style}><HelloWorld name="李小龙!"></HelloWorld></div>, document.body);
	</script>
</body>

</html>

  

3.直接在属性调用函数

<!DOCTYPE html>
<html lang="zh-cn">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>

<body>
    <script src="./react-0.13.2/build/react.js"></script>
    <script src="./react-0.13.2/build/JSXTransformer.js"></script>
	<script type="text/jsx">
		var style = {
			color : "red",
			border: "1px #000 solid",
		};
		var HelloWorld = React.createClass({
			getName : function(){
				if(this.props.name)
					return this.props.name
				else
					return "World!"	
			},
			render: function(){
				return <p>你好, {this.getName()}</p>;
			}
		});
		React.render(<div style={style}><HelloWorld name="李小龙!"></HelloWorld></div>, document.body);
	</script>
</body>

</html>

  

4.用与运算

<!DOCTYPE html>
<html lang="zh-cn">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>

<body>
    <script src="./react-0.13.2/build/react.js"></script>
    <script src="./react-0.13.2/build/JSXTransformer.js"></script>
	<script type="text/jsx">
		var style = {
			color : "red",
			border: "1px #000 solid",
		};
		var HelloWorld = React.createClass({
			render: function(){
				return <p>你好, {this.props.name || "World!"}</p>;
			}
		});
		React.render(<div style={style}><HelloWorld name="李小龙!"></HelloWorld></div>, document.body);
	</script>
</body>

</html>

  

三、运行结果

技术分享

通过表达式、函数给React组件属性赋值

标签:

原文地址:http://www.cnblogs.com/shamgod/p/5049927.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!