草庐IT

TONE_PROP_ACK

全部标签

javascript - React.js,特定 Prop 的事件监听器onChange?

我想在React组件上设置this.props.map时触发一个函数-使用ES6类语法定义:exportdefaultclassMapFormextendsReact.Component{...目前,我正在使用componentDidUpdate(),因为它是在设置props时触发的-但它也会由其他不理想的不相关事件触发。另一方面,componentWillReceiveProps()恰好在组件生命周期的早期(this.props.map返回undefined此时)所以我想在this.props.map设置时仅触发一个函数。我缺少一个钩子(Hook)吗?或者可能是某种模式?

javascript - React Redux 将状态作为 Prop 传递给组件

在我的ReactRedux应用程序中,当主页加载时,我想从API获取数据并将其显示给用户查看。正在从操作中获取数据并更新状态。但是,我没有将状态视为组件的支柱。不确定什么连接不正确。主页组件:importReact,{Component,PropTypes}from'react';import{connect}from'react-redux';import{bindActionCreators}from'redux';import*asactionsfrom'../actions/actions';import'../styles/homeStyles.css';classHomee

javascript - 防止功能 Prop 更新时重新渲染

我有一个包含多层子组件的表单。表单的状态保持在最高级别,我将函数作为props向下传递以更新顶层。唯一的问题是当表单变得非常大(您可以动态添加问题)时,每个组件都会在其中一个组件更新时重新加载。这是我的代码的简化版本(或codesandbox:https://codesandbox.io/s/636xwz3rr):constApp=()=>{return;}constinitialForm={id:1,sections:[{ordinal:1,name:"SectionNumberOne",questions:[{ordinal:1,text:"Who?",response:""},{

javascript - 修复未重新渲染的子组件的方法(由于作为 Prop 而不是状态传递的数据发生变化)?

背景我正在开发一个使用ReactJS作为渲染库的Meteor应用。目前,我在更新数据时重新渲染子组件时遇到了问题,即使父组件正在访问更新后的数据并且应该将其传递给子组件也是如此。父组件是一个数据表。子组件是一个点击编辑日期字段。它(理论上)的工作方式:父组件将现有的日期数据作为prop传递给子组件。子组件获取现有的props数据,处理它并使用它设置一些状态,然后有2个选项:默认:显示数据如果用户单击数据字段:更改为输入并允许用户选择日期(使用react-datepicker),更改状态——当用户单击字段外部时,触发返回以仅显示并保存更新的数据状态到数据库我在表格的每一行中使用了两次子组

javascript - react 备忘录组件并在将函数作为 Prop 传递时重新渲染

假设我有这些React组件:constCompo1=({theName})=>{return(console.log('Dr.'+theName)}/>);};constCompo2=({theName})=>{functiontheFoo(){console.log('Dr.'+theName);}return();};嵌套组件,包裹在memo中:constNested=React.memo(({foo})=>{return(Clickme);});传入foo的函数是alwaysrecreated在Compo1和Compo2中,正确吗?如果是这样,因为foo每次都会接收到一个新的函数

javascript - 在组件上设置所需的 Prop

假设我创建了一个这样的自定义组件:constMyComponent=(props)=>({props.children})而且我需要确保props包含变量name和id,否则我wanttodoisnotgoingwork(现在我知道这段代码无论如何都会起作用,但假设说它不会起作用)。在React中有没有一种方法可以要求将某些props传递给组件?也许这是显而易见的事情,但我找不到任何相关信息。 最佳答案 您可以使用PropTypes。它之前是React的一部分,但现在它有自己的npm包,https://www.npmjs.com/p

javascript - 使用 jQuery .attr 或 .prop 设置属性值不起作用

我创建了一个按钮,其属性名为“loaded”,初始值为“no”。单击按钮后,我正在运行一些ajax,在它的最后我试图将“已加载”属性设置为"is",这样如果用户多次单击按钮,ajax就不会再次运行.我有这样的东西:http://jsfiddle.net/PDW35/2/单击按钮不会将加载更改为"is"。但是,如果您在.attr调用后立即发出警报,如下所示:alert($(this).attr('loaded'));警告框确实包含"is",这没有帮助,因为一旦用户点击,上面的相同代码会在屏幕上显示“否”警告框。如果我使用.prop()而不是.attr(),所有行为都是一样的。我是否遗漏了

javascript - 调用高阶组件时在 React 类外访问 prop

我正在尝试使用高阶组件(HOC)模式来重用一些连接到状态并使用ReduxFormformValueSelector方法的代码。formValueSelector需要一个引用表单名称的字符串。我想动态地设置它,并能够在我需要项目的值时使用这个HOC。我使用项目值进行计算。在下面的代码中,HOC传递了组件和字符串。我想将其设置为从父级(表单)传入的PropformName。我是HOC模式的新手,因此非常感谢任何提示。高级组织importReact,{Component}from'react';import{connect}from'react-redux';import{formValue

javascript - Prop 更新时,React Native 组件不透明度不会更新

我有一个ReactNative子组件,如果disabled属性设置为true,它会呈现一个半透明状态的按钮。该prop可能会在应用程序初始加载后更新(一旦它获得了数据),因此不会是组件的初始状态。我可以看到,一旦我与按钮交互,它就会改变其状态,但出于某种原因之前不会。我可以从日志和onPress行为中看到,Prop正在更新。我尝试了不同的方法,但似乎都无法解决问题。classTestButtonextendsReact.Component{constructor(props){super(props);}render(){constbuttonOpacity=(this.props.d

javascript - react / Hook : prevent re-rendering component with a function as prop

假设我有:constAddItemButton=React.memo(({onClick})=>{//Goalistomakesurethisgetsprintedonlyonceconsole.error('ButtonRendered!');returnAddItem;});constApp=()=>{const[items,setItems]=useState([]);constaddItem=()=>{setItems(items.concat(Math.random()));}return({items.map(item=>{item})});};每当我添加一个项目时,重新呈