如何根据变量值动态请求React组件
How to dynamically request a React Component based on a variable value?
我想知道如何根据变量值动态请求组件。我想在这里完成的是:
import Template1 from './Template1.jsx';
import Template2 from './Template2.jsx';
var ComponentTemplate = (some_condition === true) ? "Template1" : "Template2"
render() {
<ComponentTemplate prop1="prop1 val" />
}
这可能吗?如果是,如何?
我不清楚为什么需要使用类的字符串表示,而不仅仅是切换组件或使用条件呈现:
var Component = some_condition === true ? Template1 : Template2;
// ...
return ( <Component /> );
但假设这过于简单化,最简单的方法是使用一个映射对象将字符串转换为组件。随着ES2015增强的对象文字,它变得相当简单:
var Components = {
Template1,
Template2,
};
var Component = condition ? Components['Template1'] : Components['Template2'];
// ...
return ( <Component /> );
如果你只是想根据条件渲染不同的组件,你实际上可以有两个其他的渲染函数和内部render(),你可以检查条件并调用相应的渲染
render () {
!this.state.isAuthorized? renderLogin(): renderTweets();
}
renderLogin () {
<LoginView/>
}
renderTweet () {
<ListTweets/>
}
希望这就是你想要的!
所有的动态渲染都应该在Render函数内部。因为JSX编译将取决于Variable名称,而不是Object引用。
如果你写CCD_ 1,它将转移到CCD_ 2。
无法引用要选择的动态组件。
取决于"渲染"运行时的条件。使用不同的React标签。
render() {
condition ? <Template1 /> : <Template2 />
}
相关文章:
- AJAX 请求没有在我的 React 组件中设置 this.state.data
- React JS js 中的 AJAX 请求不起作用
- React返回未定义的JSON请求
- 简单的Ajax请求,在React.js中循环数据
- 当有多个 React.js 组件实例具有数据请求时如何处理缓存
- React - 如何在 AJAX 请求后更新状态
- React - 如何填充和显示模态,然后在提交时发送 AJAX 请求
- 如何在 React 中呈现从 RSS 提要请求返回的整个 HTML 字符串
- 在 React-Router 子级中呈现 Ajax 请求
- 如何根据变量值动态请求React组件
- React router:ajax请求点击链接
- 等待React Render,直到请求之后
- 在React中导航离开组件时中止请求
- 尝试在React组件中发出Ajax请求并使用响应
- 在我的react/redux应用程序中单击按钮时发出一个简单的get请求
- React.js URL GET请求中的随机变量
- React组件在一次或多次点击中获取请求
- 在React中使用Fetch的Ajax请求
- React Native:网络请求失败,但实际上没有
- react-router将POST请求添加到URL