fish-redux
fish-redux copied to clipboard
使用adapter与component, 父组件改变状态, 不能即时更新到子页面上, 热更新之后值才会变化
这里可以监听到, 可以打印出值, 是改变后的
用的是dynamicFlowAdapter
遇到同样的问题,你解决了吗
遇到同样的问题,你解决了吗
并没有, 没有用component了
遇到同样的问题,你解决了吗
并没有, 没有用component了
我整了好久,发现问题在哪里了,但是还不是很明白。
item的buildReducer如果我这样返回是不会更新的
final ItemMytestState newState = state.clone();
newState.isDone = !newState.isDone;
return newState;
这样返回才能变化
final ItemMytestState newState = state.clone();
if (state.uniqueId == uniqueId) {
newState.isDone = !newState.isDone;
return newState;
}
return state;
我的结论就是必须有newState和state 区分开返回才能变化。我的那个功能是全部选择,刚刚是不需要区分的,这是bug吧。
遇到同样的问题,你解决了吗
并没有, 没有用component了
我整了好久,发现问题在哪里了,但是还不是很明白。
item的buildReducer如果我这样返回是不会更新的
final ItemMytestState newState = state.clone(); newState.isDone = !newState.isDone; return newState;这样返回才能变化
final ItemMytestState newState = state.clone(); if (state.uniqueId == uniqueId) { newState.isDone = !newState.isDone; return newState; } return state;我的结论就是必须有newState和state 区分开返回才能变化。我的那个功能是全部选择,刚刚是不需要区分的,这是bug吧。
你可以试一下看看, 在你第一个的 return newState 之前打印一下newstate.isDone 看看有没有变化
遇到同样的问题,你解决了吗
并没有, 没有用component了
我整了好久,发现问题在哪里了,但是还不是很明白。 item的buildReducer如果我这样返回是不会更新的
final ItemMytestState newState = state.clone(); newState.isDone = !newState.isDone; return newState;这样返回才能变化
final ItemMytestState newState = state.clone(); if (state.uniqueId == uniqueId) { newState.isDone = !newState.isDone; return newState; } return state;我的结论就是必须有newState和state 区分开返回才能变化。我的那个功能是全部选择,刚刚是不需要区分的,这是bug吧。
你可以试一下看看, 在你第一个的 return newState 之前打印一下newstate.isDone 看看有没有变化
是试那个没有更新的newStatte
遇到同样的问题,你解决了吗
并没有, 没有用component了
我整了好久,发现问题在哪里了,但是还不是很明白。 item的buildReducer如果我这样返回是不会更新的
final ItemMytestState newState = state.clone(); newState.isDone = !newState.isDone; return newState;这样返回才能变化
final ItemMytestState newState = state.clone(); if (state.uniqueId == uniqueId) { newState.isDone = !newState.isDone; return newState; } return state;我的结论就是必须有newState和state 区分开返回才能变化。我的那个功能是全部选择,刚刚是不需要区分的,这是bug吧。
你可以试一下看看, 在你第一个的 return newState 之前打印一下newstate.isDone 看看有没有变化
是试那个没有更新的newStatte
数据改了,但是我修改page的stateitems列表的数据的时候,也是不刷新,不知道咋回事了。如果点击某一项的status才可以。
遇到同样的问题,你解决了吗
并没有, 没有用component了
我整了好久,发现问题在哪里了,但是还不是很明白。 item的buildReducer如果我这样返回是不会更新的
final ItemMytestState newState = state.clone(); newState.isDone = !newState.isDone; return newState;这样返回才能变化
final ItemMytestState newState = state.clone(); if (state.uniqueId == uniqueId) { newState.isDone = !newState.isDone; return newState; } return state;我的结论就是必须有newState和state 区分开返回才能变化。我的那个功能是全部选择,刚刚是不需要区分的,这是bug吧。
你可以试一下看看, 在你第一个的 return newState 之前打印一下newstate.isDone 看看有没有变化
是试那个没有更新的newStatte
数据改了,但是我修改page的stateitems列表的数据的时候,也是不刷新,不知道咋回事了。如果点击某一项的status才可以。
我现在发现是component里面的改变会刷新页面, 都是在外部更新数据并不会, 而且如果两个component数据联动也是没有办法实现
遇到同样的问题,你解决了吗
并没有, 没有用component了
我整了好久,发现问题在哪里了,但是还不是很明白。 item的buildReducer如果我这样返回是不会更新的
final ItemMytestState newState = state.clone(); newState.isDone = !newState.isDone; return newState;这样返回才能变化
final ItemMytestState newState = state.clone(); if (state.uniqueId == uniqueId) { newState.isDone = !newState.isDone; return newState; } return state;我的结论就是必须有newState和state 区分开返回才能变化。我的那个功能是全部选择,刚刚是不需要区分的,这是bug吧。
你可以试一下看看, 在你第一个的 return newState 之前打印一下newstate.isDone 看看有没有变化
是试那个没有更新的newStatte
数据改了,但是我修改page的stateitems列表的数据的时候,也是不刷新,不知道咋回事了。如果点击某一项的status才可以。
我现在发现是component里面的改变会刷新页面, 都是在外部更新数据并不会, 而且如果两个component数据联动也是没有办法实现
遇到的情况和你的一样
遇到同样的问题,你解决了吗
并没有, 没有用component了
我整了好久,发现问题在哪里了,但是还不是很明白。
item的buildReducer如果我这样返回是不会更新的
final ItemMytestState newState = state.clone(); newState.isDone = !newState.isDone; return newState;这样返回才能变化
final ItemMytestState newState = state.clone(); if (state.uniqueId == uniqueId) { newState.isDone = !newState.isDone; return newState; } return state;我的结论就是必须有newState和state 区分开返回才能变化。我的那个功能是全部选择,刚刚是不需要区分的,这是bug吧。
component 要使用with PrivateReducerMixin,reducer才会只触发当前 item
遇到同样的问题,你解决了吗
并没有, 没有用component了
我整了好久,发现问题在哪里了,但是还不是很明白。 item的buildReducer如果我这样返回是不会更新的
final ItemMytestState newState = state.clone(); newState.isDone = !newState.isDone; return newState;这样返回才能变化
final ItemMytestState newState = state.clone(); if (state.uniqueId == uniqueId) { newState.isDone = !newState.isDone; return newState; } return state;我的结论就是必须有newState和state 区分开返回才能变化。我的那个功能是全部选择,刚刚是不需要区分的,这是bug吧。
你可以试一下看看, 在你第一个的 return newState 之前打印一下newstate.isDone 看看有没有变化
是试那个没有更新的newStatte
数据改了,但是我修改page的stateitems列表的数据的时候,也是不刷新,不知道咋回事了。如果点击某一项的status才可以。
没有刷新的问题,要检查你需要刷新的组件他的state有没有变化(检查变化的默认方式是引用是否变化)。