我们可以使用 Apollo 缓存进行本地状态管理。我的问题是使用以下方法的优点和缺点是什么:
const {data: {todos}} = useQuery (GET_TODOS)
Run Code Online (Sandbox Code Playgroud)
和
const client = useApolloClient ()
const {todos} = client.readQuery (GET_TODOS)
Run Code Online (Sandbox Code Playgroud)
从我早期的实验来看,第二个版本似乎也为了数据更新而重新渲染。因此,我看到的唯一语义差异是useQuery可以使用选项进行自定义。还有别的事吗?谢谢!!
当我跑
fn main() {
let x: i32 = 0;
println!("{:p}", &x);
let y: i32 = 1;
println!("{:p}", &y);
}
Run Code Online (Sandbox Code Playgroud)
在Rust playground 中,打印的值以十进制形式相隔 88。我的期望是它们相距 4 或 8(字节)。为什么这么大?
我有两个图标决定了我的 Meteor React 项目中一堆组件的视图
目前,我将它们包装在一个跨度中,每个图标都有一个特定的 onClick 函数。有没有办法只用一个函数来处理这个问题,传入一个 id 作为道具?
我想要一些类似的东西:
<span id="grid" onClick={this.handleViewBtnClick.bind(this, id)}>
<i className="fa fa-th" ></i>
</span>
<span id="list" onClick={this.handleViewBtnClick.bind(this, id)}>
<i className="fa fa-align-justify" ></i>
</span>
Run Code Online (Sandbox Code Playgroud)
和:
handleViewBtnClick(id) {
this.setState({
view: id
})
}
Run Code Online (Sandbox Code Playgroud)
但这并没有产生预期的结果,我尝试过的任何其他事情也没有。我让它工作的唯一一次是我将两个图标都包裹在一个button而不是一个跨度中。我想我可以让它透明,但是有没有办法将它包裹起来span或根本不包裹它?
非常感谢!
当我跑
fn main() {
println!("{:p}", &0);
println!("{:p}", &1);
}
Run Code Online (Sandbox Code Playgroud)
在Rust 游乐场, 我得到了类似的东西
0x560882842004
0x560882842008
Run Code Online (Sandbox Code Playgroud)
暗示0和1被放置在堆上。为什么?