使用具有空 dom 树 (<>>) 的 child/sibling 组件来获取数据?是还是不是?
Using a child/sibling component with empty dom tree (<></>) to fetch data? Yay or Nay?
到目前为止,我看到的唯一示例是 parent 数据包装器,它正在获取数据并将其传递给 child。我正在使用 Redux 并计划通过 'connect' 分发数据。仅仅为了纯抓取而创建一个 React 无状态组件是不是一个糟糕的代码?
示例:
const jsx = (
<Provider store={store}>
<App/>
<FetchingData >
</Provider>
);
export const FetchingData = props => {
useEffect(()=>Listening to database and saving to Redux store...);
return <>
};
const mapStateToProps = (state, props) => ({
...
});
const mapDispatchToProps = dispatch => ({
...
});
export default connect(
mapStateToProps,
mapDispatchToProps
)(FetchingData);
优点:易于插入,无需执行备忘录 || shouldComponentUpdate 因为没有 children.
缺点:?
没有。原因一:阅读其中任何一个代码片段的人会合理地理解和识别通常的工作流程吗?即使1个月后有人是你?原因二:如果你写的东西违反了原因一,那么你有 99% 的机会(这里就是这种情况)你使用的是一种特殊的工作流津贴,这种津贴将来可能会改变,因为框架不是设计出来的,也不会是开发时考虑了这个工作流程。
所以,回顾一下,不,因为代码不可读、不可维护。
到目前为止,我看到的唯一示例是 parent 数据包装器,它正在获取数据并将其传递给 child。我正在使用 Redux 并计划通过 'connect' 分发数据。仅仅为了纯抓取而创建一个 React 无状态组件是不是一个糟糕的代码?
示例:
const jsx = (
<Provider store={store}>
<App/>
<FetchingData >
</Provider>
);
export const FetchingData = props => {
useEffect(()=>Listening to database and saving to Redux store...);
return <>
};
const mapStateToProps = (state, props) => ({
...
});
const mapDispatchToProps = dispatch => ({
...
});
export default connect(
mapStateToProps,
mapDispatchToProps
)(FetchingData);
优点:易于插入,无需执行备忘录 || shouldComponentUpdate 因为没有 children.
缺点:?
没有。原因一:阅读其中任何一个代码片段的人会合理地理解和识别通常的工作流程吗?即使1个月后有人是你?原因二:如果你写的东西违反了原因一,那么你有 99% 的机会(这里就是这种情况)你使用的是一种特殊的工作流津贴,这种津贴将来可能会改变,因为框架不是设计出来的,也不会是开发时考虑了这个工作流程。
所以,回顾一下,不,因为代码不可读、不可维护。