草庐IT

Element - 饿了么团队出品的神级桌面 UI 组件库

全部标签

javascript - 为什么我的 React 组件渲染被调用两次,一次没有数据,然后又一次有数据,但是为时已晚的异常?

我有一个组件TreeNav,其数据来自api调用。我已经设置了reducer/action/promise和所有的管道,但是当我在数据上调用map()时在组件渲染中,得到“UncaughtTypeError:Cannotreadproperty'map'ofundefined”。故障排除显示TreeNavrender()被调用了两次。第二次是在数据从api返回之后。但是由于第一个render()错误,第二个render()永远不会运行。这是我的代码文件:--------reducers/index.js--------import{combineReducers}from'redux'

javascript - 使用指令将组件动态添加到子元素

尝试使用指令将组件动态放置到子元素。组件(作为模板):@Component({selector:'ps-tooltip',template:`{{content}}`})exportclassTooltipComponent{@Input()content:string;}指令:import{TooltipComponent}from'./tooltip.component';@Directive({selector:'[ps-tooltip]',})exportclassTooltipDirectiveimplementsAfterViewInit{@Input('ps-toolti

javascript - 将 Redux 状态传递给组件时的最佳实践

我正在与其他几个开发人员一起开发一个React+Redux项目,但我们无法就在何处传递状态和操作的最佳实践达成一致。我的方法是拥有一个“容器”或“提供者”组件,它是父组件,所有必需的状态和操作都映射到状态并向下传递到子组件,从而创建单一的真实来源。然而不利的一面是,您必须记住通过每个子组件向下传递操作和值,这可能很难遵循。另一种开发人员方法是在每个需要它的组件上,在堆栈中的任何位置使用mapStateToProps。因此,如果向下三层或四层的子组件需要特定状态,他将在该组件上使用mapStateToProps。他还会使用import关键字直接导入Action创建器,而不是将它们称为Pr

javascript - 在 React 组件中使用 setInterval

我正在阅读React官方网站上的教程。在生命周期方法的例子中,在componentDidMount方法下,给setInterval函数设置了一个timerID。我的问题是,即使timerID已初始化,但它从未在整个应用程序中被调用,应用程序如何在不在应用程序的任何地方显式调用timerID的情况下工作。这是下面的代码。classClockextendsReact.Component{constructor(props){super(props);this.state={date:newDate()};}componentDidMount(){this.timerID=setInterv

javascript - 组件上的异步等待已挂载

这是我的componentDidMount方法。我想设置当前用户的状态,然后在设置该用户时调用该函数。我该怎么做?componentDidMount=()=>{firebase.auth().onAuthStateChanged((user)=>{if(user){this.setState({user:user})}});this.props.retrieveMatches(this.state.user.uid)}我试过使用async/await但我在这里没有正确使用它:asynccomponentDidMount=()=>{awaitfirebase.auth().onAuthS

javascript - 如何在注册该组件时为 vue.js 组件定义 css 样式?

我可以注册一个自定义的vue.js组件//registerVue.component('my-component',{template:'Acustomcomponent!'})另见https://v2.vuejs.org/v2/guide/components.html如何为我的组件包含css类?我希望是这样的Vue.component('my-component',{template:'Acustomcomponent!',css:'#...mycssstylesheet...'})但似乎没有css选项。我知道我可以a)在全局css样式表中定义所有css类或b)使用singe-fi

javascript - 超过最大更新深度。当组件在 componentWillUpdate 或 componentDidUpdate 中重复调用 setState 时,可能会发生这种情况

我正在制作这个Conway的生命游戏React项目,它工作得很好,但是当我添加最后几个按钮来清除棋盘时,React的一些其他功能给了我这个错误Maximumupdatedepthexceeded.ThiscanhappenwhenacomponentrepeatedlycallssetStateinsidecomponentWillUpdateorcomponentDidUpdate.Reactlimitsthenumberofnestedupdatestopreventinfiniteloops.从它向我展示的代码片段来看,clear()函数似乎是这里的问题,但我认为我没有在rend

javascript - PureComponent 与无状态功能组件的性能对比

考虑以下React代码:classTodosextendsReact.Component{constructor(props){super(props);this.state={item:'Test',};}render(){return}}classTodoItemextendsReact.PureComponent{render(){return{this.props.item}}}functionTodoItem(props){return{props.item}}上面有一个有状态的父组件Todos和同一个子组件的两个版本TodoItem。其中一个版本是纯组件,另一个是无状态功能

javascript - 来自 React Material UI MenuItem 单击事件的 setState

我正在尝试使用MaterialUI根据下拉选择更改状态。问题是下面的代码(精简)返回列表项,所以我不知道下一步该做什么。从handleClose方法中的console.log(event.target)返回精简组件:事件从API调用中获取。感谢您的任何想法。importReact,{Component}from"react";importButtonfrom"@material-ui/core/Button";importMenufrom"@material-ui/core/Menu";importMenuItemfrom"@material-ui/core/MenuItem";cla

javascript - React 功能组件在重新渲染时重新初始化局部函数和变量(React Hooks)

所以我现在开始使用Reacthooks。我已经尝试使用API一段时间了。我真的很喜欢将状态带入功能组件的想法。但是有一件事一直困扰着我,当我尝试使用它时,我的直觉感觉不对。我尝试在RFCs上发帖,但现在那里太拥挤了。一切似乎都消失了。这是我示例中的一段代码。importReact,{useState}from"react";functionCounter(){const[counterState,incrementCounterState]=useCommontState(0);functiondoSomething(){//doessomethingandthencallsincre