jjzjj

higher-order-components

全部标签

javascript - React Styled Components - 如何访问原始 html

我有一个组件的引用,我正在将其转换为styledcomponent在我的应用程序中。ref用于访问组件的原始html元素上的offsetHeight和scrollHeight属性。将此组件切换为样式化组件后,ref现在指向样式化组件而不是原始html元素,我不确定如何引用基本元素。这能做到吗?例子:constTextArea=styled.textarea`display:block;margin:00018%;padding:4px6px;width:64%;font-size:1rem;color:#111;`;exportdefaultclassInputextendsCompo

javascript - react + Apollo : GraphQL errors array not passed into component

根据这些Apollodocs,设置all的error-policy应该使GraphQL响应的errors数组可用于我的Apollo包装的React组件“所以[my]UI可以使用它们。”我的应用程序是通用的,所以我使用此策略很重要,这样错误就不会阻止应用程序完全呈现。问题是,即使我的浏览器开发工具在服务器响应中显示了errors数组,我也无法在我的React组件的props中访问它。同样,props.data.error始终未定义。这是为什么?//ComponentimportReactfrom'react';import{graphql}from'react-apollo';impor

javascript - Mixpanel javascript 集成 : consecutive events are recorded in wrong order at mixpanel end

我正在网页中记录两个事件注册计划完成这两个事件记录在该页面中,因为用户可以注册并完成该过程(用户注册在表单提交中内部处理,并将其记录在完整页面中)。记录JS代码的事件按上述顺序连续一行。那些与mixpanel.track函数调用相关的事件是按顺序发出的。问题有时是在服务器中注册之前记录的计划完成事件。我检查了Mixpanel的实时View并注意到这种情况是随机发生的,概率大约为0.1。我想知道是否有办法通过设置订单号或本地时间戳或任何其他方式来解决这个问题。我的环境是:Mixpanel:JS库浏览器:windows7中的chrome 最佳答案

javascript - 如何解决 Component should be written as a pure function error in eslint-react?

constHeader=React.createClass({contextTypes:{router:React.PropTypes.object.isRequired,},render(){return(AB);},});我使用eslint-config-airbnb检查上面的代码,它向我显示一条错误消息,例如Componentshouldbewrittenasapurefunction。那么如何将上面的组件改成纯函数呢?感谢您的帮助。 最佳答案 当你有一个“哑”组件(没有内部状态、生命周期方法等)时,你可以将它写成一个简单的j

javascript - 为什么 <Route component={Menu}/> 而不是 <Menu/>?

我的/About中有一个包含路线的子菜单。这个子菜单称为AboutMenu并出现在/About下的所有页面,例如=>/About/Company和/About/Info。练习示例显示与activeStyle={match.isExact&&selectedStyle}>我刚用过并添加了exact改为我的AboutMenu链接。为什么要使用而不是仅仅渲染?exportconstAboutMenu=(props)=>{return(CompanyHistoryVision)}关于部分constAbout=(props)=>{return({/*OR?*/})}exportdefaultAb

javascript - 使用 Styled-Components,如何在 Styled Component 之外设置颜色数组?

theme.js-我有一个Styled-Components主题,其中包含我应用的所有颜色变化。constcolors={purples:{60:'#AEA',50:'#GSA',},blues:{20:'#asd',5:'#fasd',}...然后我有一个UI组件,我需要在其中按特定顺序定义一组颜色:importReactfrom'react';constcolors=['#GSA','#AEA','#asd','#fasd','#AEA'];我稍后使用此colors数组根据状态找到要在我的组件中使用的正确颜色:constgetBackgroundColor=({currentPos

javascript - 如何避免 React Component 不必要的重新渲染

我一直在学习React16.8的新特性。我相信React的PureComponent应该自动避免不必要的重新渲染操作。在以下示例中,App本身是一个无状态组件。我用useState维护两个状态对象text和nested:{text}.有3个测试。前2个测试有效。无论我改变多少次状态,都不需要重新渲染操作。现在,第三个测试尝试设置text的状态具有相同的字符串值,但引用不同。我不希望重新渲染任何内容,但实际上,将被重新渲染。我应该使用某种内存技巧来避免吗?我觉得归档它的代码太多了。程序员必须非常小心才能编写高质量的React代码。..classHeadlineextendsReact.P

javascript - 通过 HOC 将 React 上下文传递给包装的组件

有没有一种方法可以通过React高阶组件将上下文传递给它包装的组件?我有一个HOC,它从其父级接收上下文并利用该上下文执行基本的通用操作,然后包装子组件,该子组件也需要访问相同的上下文以执行操作。示例:HOC:exportdefaultfunctionwithACoolThing(WrappedComponent){returnclassDoACoolThingextendsComponent{staticcontextTypes={actions:PropTypes.object,}@autobinddoAThing(){this.context.actions.doTheThing

javascript - 在 React 中定义和导出 HOC

我一直在研究React中的高阶组件。我的要求是我有一组组件,我需要扩展这些组件以便在不重写整个组件的情况下为它们提供更多功能。在这种情况下,我在React中发现了HOC的概念,其中可以使用纯函数扩展组件。我的问题是,我可以将扩展组件导出为普通组件吗?举个例子需要扩展的组件classfooextendsReact.Component{render(){//something}}exportdefaultfoo;HOC组件functionbar(foo){render(){return;}}exportdefaultbar;我可以那样使用组件吗?还是我做错了?

javascript - react : potential race condition for Controlled Components

theReacttutorial中有如下代码:classNameFormextendsReact.Component{constructor(props){super(props);this.state={value:''};this.handleChange=this.handleChange.bind(this);this.handleSubmit=this.handleSubmit.bind(this);}handleChange(event){this.setState({value:event.target.value});}handleSubmit(event){alert