小编Sve*_*ven的帖子

在C#中反序列化java序列化文件

我有一个java项目,它将一些对象和ints序列化为一个具有类似函数的文件

ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeInt(RANK_SIZE);
oos.writeObject(_firstArray);
oos.writeObject(_level[3]);
oos.writeObject(_level[4]);
...
Run Code Online (Sandbox Code Playgroud)

现在我无法用C#反序列化该文件(试过BinaryFormatter),因为它显然只能将整个文件反序列化为单个对象(或数组,但我有不同长度的不同对象).

我首先尝试将这些文件的生成移植到C#,但是失败了.这些文件是小,我不应该产生他们自己.

我是否需要更改这些文件在Java中生成的方式,还是可以以任何方式对其进行反序列化?

c# java deserialization

3
推荐指数
2
解决办法
4065
查看次数

JSX不会将表达式中的整数计算为布尔值

我习惯写这样的渲染可选组件:

var Foo = React.createClass({
  render: function() {
    var length = 0;
    return <div>Foo {length && <Bar />}</div>;
  }
}); 
Run Code Online (Sandbox Code Playgroud)

这个简写在JSX指南if中的if/else中被提到为立即调用的函数表达式.但是,自从我最新更新的React以来,它开始渲染0而不是null.

这是一个jsfiddle

为什么会这样?

conditional-operator jsx reactjs react-jsx

3
推荐指数
1
解决办法
458
查看次数

Apollo 查询闪烁

我们在电子商务网站中广泛使用 Apollo GraphQl,当路线发生变化时,我遇到了一些不必要的闪烁问题。

我的ProductTypeFilter组件被包裹在RouterandQuery组件中。使用Query来自路由的信息作为其变量,在本例中为productTypeId.

export const ProductTypeFilterContainer = () => (
  <Router>
    {({ query: { productTypeId } }) => (
      <Query query={GET_PRODUCT_FILTERS} variables={{ productTypeId }}>
        {({ error, loading, data: { productFilters } }) => {
          if (loading || error) {
            return null
          }
          return <ProductTypeFilter productFilters={productFilters} />
        }}
      </Query>
    )}
  </Router>
)
Run Code Online (Sandbox Code Playgroud)

null渲染时间很短,当数据到达时就会ProductTypeFilter渲染。这按预期工作。

但是,当用户导航到不同的产品类型时,ProductTypeFilter将被卸载,然后使用新数据重新安装。只要查询加载,null就会呈现,这确实会引入不需要的“闪烁”

这种情况仅在用户第一次访问产品类型时发生,当 Apollo 缓存第二次找到相同的query和组合variablesProductTypeFilter …

reactjs react-apollo

2
推荐指数
1
解决办法
2101
查看次数

如何从另一个对象中更改表单的组件?

我有一个对象,在我的form1窗口中调用.如何从此对象中的form1-object更改任何内容,例如标签或进程栏?

c#

1
推荐指数
1
解决办法
992
查看次数