baxtergu 最近的时间轴更新
baxtergu

baxtergu

V2EX 第 257873 号会员,加入于 2017-10-05 23:35:25 +08:00
baxtergu 最近回复了
你都用 saga 了就还是按照 saga 那套中心化 store 的模式来吧。如果想在组件内使用 hooks,那就在你的页面最外层包一层 conncect 把 dispatch 和 store 传进去(可以爷父子一层一层,也可以创建一个 context 直接隔着传下去),里面的消费组件只要写好 effect 处理好引用变更就好了。
把语言切换的状态做成持久化的,只在加载应用的时候读取一次然后递给应用最外层的 Provider 。
51 天前
回复了 cl903254852 创建的主题 Node.js nodejs 有没有好用的解决粘包问题的库?
固定长度消息头里写消息体的长度,读取的时候不够就缓存下来不处理,等下一个包拼起来完整了再处理
65 天前
回复了 QGabriel 创建的主题 React react hooks 问题
按照你的写法:
1 、useEffect 中的代码只会在组件 mount 以后执行一次,不管以后组件状态或者 props 怎么变 useEffect 中的代码只会执行 1 次。(也就是为什么 1 和 2 只会输出一次,而 0 会输出多次)
2 、useState 生成的 setState 的执行是**创建一个新的 state 为下一次 render 使用**。但是 useEffect 这次函数闭包里的 formData 是上一次的 state 也就是{},这一点跟类组件的 this.state 是完全不一样的。类组件的 this.state 保存的是状态对象的一个引用,但是用 useState 生成的 state 是通过闭包保存了执行 useEffect 时 state 的在函数执行上下文中的,也就是旧的 state 引用。每次重新 render 以后都会生成一个新的 state,而不是改变旧 state 的引用里的值。
142 天前
回复了 luckyrayyy 创建的主题 问与答 有没有很稳的电动升降桌?
升高了都晃
这个网站加密比较厉害,建议用模拟浏览器的方式去爬
146 天前
回复了 chaohuang 创建的主题 程序员 一个关于 gps 坐标匹配算法的求助
geohash 可解
154 天前
回复了 AAASUKA 创建的主题 问与答 请教一个 React 问题
```javascript
class Main extends Component {
constructor(props) {
super(props);
this.state = {
value: 0,
};
this.handleChange = this.handleChange.bind(this);
}

handleChange(event) {
this.setState({
value: event.target.value,
});
}

render() {
const { data = [] } = this.props;
return (
<>
<select value={this.state.value} onChange={this.handleChange}>
{data.map((item, idx) => (
<option value={idx} key={JSON.stringify(item)}>
{idx + 1}
</option>
))}
</select>
<Chart data={data[this.state.value]} />
</>
);
}
}
```

你的 Chart 应该是只有 componentDidMount 的时候渲染了一次,之后就不渲染了,如果是 echarts 的话要手动在 componentWillReceiveProps 周期里面去判断 props.data 是不是改变了然后手动去用 echarts 的 api 去刷新图表
@batyu 是的,可能也就是技术栈相近一点改造成本没那么高。或者也可以试试新框架做渐进式的改造,慢慢改,这点上面 vue 做的比 react 好。
引入 requirejs+backbone+handlebars 模板做模块化改造成本小一点,但是要看原先的数据渲染是放在服务端做的还是前端做的,要是服务端做的话改造还是比较大
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3652 人在线   最高记录 5298   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 15ms · UTC 10:43 · PVG 18:43 · LAX 02:43 · JFK 05:43
♥ Do have faith in what you're doing.