gpt4 book ai didi

javascript - 通过 cosmos 在 Meteor 中使用 npm 包 :browserify

转载 作者:数据小太阳 更新时间:2023-10-29 05:38:16 26 4
gpt4 key购买 nike

我正尝试按照说明加载 Radium(这是一个用于内联 css 的 javascript 库)here .

app.browserify.js 中:Radium = require("radium");

package.json 中:"radium": "0.13.4"

但是,当我尝试在应用程序的 js 中使用 Radium 时,内联 css 不起作用。 Chrome 开发工具指示 Radium = module.exports(ComposedComponent).

我假设这应该是一个对象,考虑到我以相同方式加载的 ReactPIXI 工作正常,并且开发工具显示 ReactPIXI = Object {factories: Object}

这是我的代码:

AppBody = React.createClass({
mixins: [ReactMeteorData, Navigation, State, Radium.StyleResolverMixin,
Radium.BrowserStateMixin],

render: function() {
var self = this;
var styles = {
base: {
color: this.state.fontColor,
background: 'red',
states: [
{hover: {background: 'blue', color: 'red'}},
{focus: {background: 'pink', outline: 'none', color: 'yellow'}}
]

//also tried
//':hover': {background: 'blue', color: 'red'},
//':focus': {background: 'pink', outline: 'none', color: 'yellow'}
},
primary: {
background: 'green'
},
warning: {
background: 'purple'
}
};


var items = this.state.items.map(function(item, i) {
return (
<div>
<div style= {[styles.base, styles['warning']]} key={item}>
// also tried <div style = {this.buildStyles(styles)} key={item}>
{item}
</div>
<button style = {[styles.base, styles['warning']]} onClick={update} >Remove</button>
</div>
);
}.bind(this));
return (
{items}
)

最佳答案

按照 Radium 中的说明,通过使用 Radium 包装 React.createComponent 解决了这个问题。文档。代码现在看起来像这样,并且按预期工作,而不是使用混合宏。

AppBody = Radium(React.createClass({
mixins: [ReactMeteorData, Navigation, State],

render: function() {
var self = this;
var styles = {
base: {
color: this.state.fontColor,
background: 'red',
':hover': {background: 'blue', color: 'red'},
':focus': {background: 'pink', outline: 'none', color: 'yellow'}
},
primary: {
background: 'green'
},
warning: {
background: 'purple'
}
};


var items = this.state.items.map(function(item, i) {
return (
<div>
<div style= {[styles.base, styles['warning']]} key={item}>
{item}
</div>
<button style = {[styles.base, styles['warning']]} onClick={update} >Remove</button>
</div>
);
}.bind(this));
return (
{items}
)
)}));

关于javascript - 通过 cosmos 在 Meteor 中使用 npm 包 :browserify,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31717521/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com