javascript - react : multiple JSX templates for one single component

标签 javascript reactjs redux react-redux jsx

我是一个 React 新手,我正在开发一个最初使用 create-react-app 模块创建的 React 应用程序,我需要它适应移动设备(浏览器)......为此,我面临着一个问题同一组件的移动版和网络版。 我想知道是否有一种方法可以通过仅使用 2 个不同的 JSX 渲染模板并保持相同的代码库来优化两个独立组件的流程。我的意思是根据设备加载特定的 JSX 并将其放置在渲染方法中。

任何帮助将不胜感激 提前致谢

最佳答案

尝试 react 响应库。

您可以根据mediaQuery渲染不同的组件

lib reference

import MediaQuery from 'react-responsive';

const Example = () => (
  <div>
    <div>Device Test!</div>
    <MediaQuery query="(min-device-width: 1224px)">
      <div>You are a desktop or laptop</div>
      <MediaQuery query="(min-device-width: 1824px)">
        <div>You also have a huge screen</div>
      </MediaQuery>
      <MediaQuery query="(max-width: 1224px)">
        <div>You are sized like a tablet or mobile phone though</div>
      </MediaQuery>
    </MediaQuery>
    <MediaQuery query="(max-device-width: 1224px)">
      <div>You are a tablet or mobile phone</div>
    </MediaQuery>
    <MediaQuery query="(orientation: portrait)">
      <div>You are portrait</div>
    </MediaQuery>
    <MediaQuery query="(orientation: landscape)">
      <div>You are landscape</div>
    </MediaQuery>
    <MediaQuery query="(min-resolution: 2dppx)">
      <div>You are retina</div>
    </MediaQuery>
  </div>
);

关于javascript - react : multiple JSX templates for one single component,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55725516/

相关文章:

javascript - 同构 Redux React 样板

javascript - Redux reducer 正在被我的 React 组件中的 setState 或 .map() 覆盖

javascript - 将 ES7 async/await 与 Node 、webpack 和 babel-loader 一起使用时出错

javascript - 从值为真的对象中获取正数

reactjs - 如何使用 fabric ui react 创建密码输入?

javascript - React Typescript - 导入@types/react 和导入react 之间有什么区别

javascript - React/Redux + Soundcloud API

javascript - 在提示框中输入密码类型

javascript - 使用 javascript 在按钮单击上添加文本框

javascript - 如何在React JS中不使用JavaScript提示来收集Firebase电话验证码