gpt4 book ai didi

javascript - 如何在 Meteor 中使用 PureRenderMixin (React js)

转载 作者:行者123 更新时间:2023-11-27 23:24:11 25 4
gpt4 key购买 nike

我正在使用 Meteor 1.2 和 React 以及 React-meteor-data mixin 构建一个应用程序,以从我的发布方法中获取数据。我认为一个好主意是拥有一个包含所有状态和数据订阅的“AppWrapper”组件,它通过 props 传递到“App”组件,后者将所有组件渲染到层次结构......尽管这是可行的,但我希望所有渲染组件都是纯净的并且具有不可变的数据。该如何进行?

1)react包里已经有这个插件了,但是不知道怎么用?

2) 我应该从 npm 安装它并等待 Meteor 1.3 软件包系统?

3)是否可以使用一些不可变的库来实现自定义的shouldComponentUpdate?

我将感谢有关此主题的任何想法或经验,谢谢

最佳答案

1) 转到第 3 点

2) 转到第 3 点

3)当然!例如:Immutable.js

const AppWrapper = React.createClass({
mixins: [ReactMeteor.Mixin],

getMeteorState () {
return {
data: Immutable.Map({
userId: Meteor.userId()
})
};
},

shouldComponentUpdate (nextProps, nextState) {
return !this.state.data.equals(nextState.data);
},

render () {
return (
<App data={this.state.data} />
);
}
});

// This is basic example with pure component.
// Of course this might be another component created with
// React.createClass implementing it's own shouldComponentUpdate method.
const App = ({ data }) => (
<p>Your userId: {data.get('userId')}</p>
);

关于javascript - 如何在 Meteor 中使用 PureRenderMixin (React js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35115467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com