React创建一个按钮-非硬编码属性
React creating a button - non hardcoded properties
我正在尝试创建一个react按钮,下面是当前代码:
var React = require('react');
var buttonStyle = {
margin: '10px 10px 10px 0'
};
var Button = React.createClass({
render: function () {
return (
<button
className="btn btn-default"
style={buttonStyle}
onClick={this.props.handleClick}>{this.props.label}</button>
);
}
});
module.exports = Button;
问题是我不希望className硬编码,没有onclick。
我希望能够添加类和onclick事件之外的这段代码…例如:
<Button bStyle="myChosenStyles" onclick="myChosenFunction" />
我该怎么做?
你需要正确地将className或click事件处理程序传递给道具,然后在组件中使用它,例如:
var Button = React.createClass({
render: function () {
return (
<button
className={this.props.bStyle}
style={buttonStyle}
onClick={this.props.onclick}>{this.props.label}</button>
);
}
});
// use {} when passing myChosenFunction to the props
<Button bStyle="myChosenStyles" onclick={myChosenFunction} label="myLabel" />
您的代码目前有一个点击处理程序handleClick
,这是按钮组件的属性(您可以简单地将名称更改为onclick
)。使用单引号或双引号可以传递字符串变量(如label
或className
)。当你想传递对象、函数、数字等时,你需要用花括号{}
把它括起来。
相关文章:
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 使用php和javascript进行编码和解码以及数据属性验证
- 为什么对href属性使用url编码而不是html编码
- 未捕获的类型错误:无法读取属性'地理编码'的未定义
- 如何在不使用HTML硬编码的情况下为元素添加属性
- 设置iFrame src属性为编码的数据URI与javascript在chrome
- innerHTML未编码<在属性
- React创建一个按钮-非硬编码属性
- 在data-*属性中成功回调x可编辑编码
- 不能在函数调用中用变量值替换硬编码的属性名值
- 如何编码值放入iframe src属性,以防止XSS在ASP.净MVC
- 防止javascript编码分配给Html的onchange事件.TextBoxFor通过html属性
- 我应该避免在id属性中编码信息吗?
- 我得到一个丢失的}后属性列表,在编码这个程序时,什么'It’他错了
- 对HTML元素上onClick属性的值进行编码的正确方法是什么
- jQuery 属性或硬编码属性
- Jquery .html, Firefox在属性中编码引用
- 对象属性的Javascript编码
- innerText属性没有编码html
- Angular中的模式属性(硬编码版本可以,动态版本不行)