【发布时间】:2018-06-24 13:54:21
【问题描述】:
我有一个 React Native 子组件,如果 disabled 属性设置为 true,它会将按钮呈现为半透明状态。 prop 可能会在应用程序初始加载后更新(一旦它获得数据),因此不会是组件的初始状态。
我可以看到,一旦我与按钮交互,它就会改变其状态,但由于某种原因之前没有。我可以从日志和 onPress 行为中看到,道具正在更新。我尝试了不同的方法,但似乎都没有解决问题。
class TestButton extends React.Component {
constructor(props) {
super(props);
}
render() {
const buttonOpacity = (this.props.disabled ? disabledOpacity : 1.0);
console.log ("test disabled", this.props.disabled, buttonOpacity);
return (
<BubbleText style={{opacity: buttonOpacity}} onPress={
() => ! this.props.disabled && doSomething() }>
{ this.props.testNumber }
</BubbleText>
);
}
}
【问题讨论】:
-
很难说是什么问题。
loadTest是做什么的? -
它加载了一个测试。为了清楚起见,我将其删除
-
你能改写你的问题吗?我已经阅读了 5 次,但我仍然不清楚发生了什么以及预期会发生什么。
-
您提供的代码中没有发生任何奇怪的事情,所以发生了其他奇怪的事情(如果发生了任何奇怪的事情)
-
@azium 已更新,谢谢
标签: javascript react-native jsx mobx