【发布时间】:2015-06-25 08:59:27
【问题描述】:
我有一个 Materialize-css 组件,我正在尝试将其转换为 React。这是DeterminatePreloader。如果autoHide 是true,我想拥有autoHide 属性以将变量show 设置为false。 autoHide,因为它是一个属性,应该可以在函数调用它时进行设置。我非常感谢您的意见。我发现的例子要么太笼统,要么太具体。
到目前为止,这是我的代码:
var React = require('react');
/**
* Linear Determinate Preloader
*
* Materialize CSS converted to React Component
*
* @author samtapucar
*/
var DeterminatePreloader = <determinatePreloader autoHide={false}/>;
var DeterminatePreloader = React.createClass({
/**
* Initializes determinate preloader state
* @returns {{percent: number, show: boolean}}
*/
getInitialState: function ()
{
return{
percent: 0,
show: true
};
},
/**
* Sets determinate preloader state using received value
* @param value
*/
setValue: function (value)
{
var state = this.state;
state.percent = value;
if ( state.percent >= 100 ){
this.props.autoHide = true;
}
if ( this.props.autoHide ) {
state.show = false;
this.setState(state);
}
else{
this.setState(state);
}
},
/**
* Renders the determinate preloader.
* @returns {XML}
*/
render: function ()
{
var percent = this.state.percent;
var cx = '';
var style = {
'width': percent + '%'
};
if (!this.state.show)
cx = ' hide'
return (
<div className={"progress" + cx}>
<div className={'determinate'} style={style}></div>
</div>
);
}
});
module.exports = DeterminatePreloader;
【问题讨论】:
标签: reactjs components materialize