我正在重温一个早先的想法,即在CRA中有条件地在两个按钮之间切换。
import ...
const ...
export const Index = () => {
// Boolean to toggle buttons conditionally
const [reachMax] = React.useState( id <= 8 );
return (
<div>{(reachMax &&
<div{(reachMax &&
<button
id="btn1"
type="button"
className="..."
onClick={event}
>
Event A: "Sales!"
</button>
</div>)
||
<div>
<button
id="btn2"
type="button"
className=" "
disabled='true'
>
Event B: "Out of Stock"
</button>
</div>)
}
)
}
使用状态钩子。布尔值( contract.tokenUri.id <= 8)的条件是从外部智能合约动态获取的。如何设置条件,使其不会返回未定义的错误?
发布于 2021-07-25 14:47:44
通过设置此条件来管理解析,以便从智能合约读取ID:
const reachMax = mintedState.state ===“成功”&& mintedState.data.length <= 8;
不需要构造函数,因为状态直接从外部契约传递到应用程序中。一旦nmintedState.state条件满足(成功),就可以使用data.length (ID的代理)作为设置右按钮的最终条件。
这个问题是由于所使用的Solidity合约和ReactJS的组合造成的。
发布于 2021-07-22 21:46:20
您正尝试在箭头函数中访问this
。除了不知道this
将指向什么之外,在React中,这不是你在函数组件中访问道具的方式。
我假设您在Toggle
组件中像这样使用Index
:
<Index data={...} />
然后访问它,如下所示:
export const Index = (props) => {
const data = props.data;
// ....
};
https://stackoverflow.com/questions/68485673
复制相似问题