我正在使用Redux、Redux路由和reactjs.

我正在try 制作一个应用程序,从中获取路由更改的信息,因此,我有如下功能:

<Route path="/" component={App}>
    <Route path="artist" component={ArtistApp} />
    <Route path="artist/:artistId" component={ArtistApp} />
</Route>

当有人输入artist/<artistId>时,我想搜索艺术家,然后呈现信息.问题是,这样做的最佳方式是什么?

我已经找到了一些答案,使用RxJS或try 使用中间件来管理请求.现在,我的问题是,这真的是必要的,还是仅仅是一种保持体系 struct react 不可知的方法?我可以从react componentDidMount()和componentDidUpdate()获取所需的信息吗?现在,我通过在那些请求信息的函数中触发一个动作来实现这一点,当信息到达时,组件会重新呈现.该组件有一些属性可以让我知道:

{
    isFetching: true,
    entity : {}
}

谢谢

推荐答案

现在,我的问题是,这真的是必要的,还是仅仅是一种保持体系 struct react 不可知的方法?我可以从react componentDidMount()和componentDidUpdate()获取所需的信息吗?

你完全可以在componentDidMount()componentWillReceiveProps(nextProps)中做到这一点

function loadData(props) {
  const { fullName } = props;
  props.loadRepo(fullName, ['description']);
  props.loadStargazers(fullName);
}

class RepoPage extends Component {
  constructor(props) {
    super(props);
    this.renderUser = this.renderUser.bind(this);
    this.handleLoadMoreClick = this.handleLoadMoreClick.bind(this);
  }

  componentWillMount() {
    loadData(this.props);
  }

  componentWillReceiveProps(nextProps) {
    if (nextProps.fullName !== this.props.fullName) {
      loadData(nextProps);
    }

  /* ... */

}

你可以用Rx变得更复杂,但根本没有必要.

Reactjs相关问答推荐

无法在列表中看到文本

两条react 路由的行为不同.有没有人能解释一下,我已经找了好几天了

下拉Tailwind CSS菜单与怪异beviour

如何在与AntD的react 中限制文件上传和显示消息?

折叠并重新打开react 手风琴将重置内部状态

安装使用环境的BIT组件的依赖项

使用experial_useFormState将参数传递给服务器操作

如何删除 bootstrap 手风琴上的边框

tRPC/react-query,在所有查询完成之前,组件不会收到任何 useQuery 的结果

我无法通过 useContext 显示值

React useContext 的未定义返回值

如何在 TimePicker 中更改时钟 colored颜色 和确定按钮字体 colored颜色 - MUI React

如何根据ReactJS中元素列表中的布尔值仅显示一次值

是的验证:使用 useFieldArray 访问表单值

在react的useEffect钩子中,我的函数被调用,但只有第一个函数能够改变状态,第二个函数无法改变状态.

React Native 背景动画反转

useEffect 渲染没有依赖数组的组件

我正在try 将一组加载程序函数发送到我的路由,它抛出一个错误 Handler is not a funtion in a reactJs application

动态添加或删除文本输入字段并将值设置为 React JS 中主要状态的数组

React JS:如何判断用户使用的是浏览器 url 还是桌面 electron