Reactjs React呈现完整组件,而不是使用包装器函数时更改的组件
在呈现列表组件时,我观察到如下情况。列表组件在渲染前使用搜索道具并进行过滤Reactjs React呈现完整组件,而不是使用包装器函数时更改的组件,reactjs,components,render,reactive,rerender,Reactjs,Components,Render,Reactive,Rerender,在呈现列表组件时,我观察到如下情况。列表组件在渲染前使用搜索道具并进行过滤 <UserList pattern={search}/> 当直接在父组件内部使用上述语句时,它仅呈现根据搜索属性更改的内容(列表保留,仅删除不匹配的项) 但当我将UserList包装到另一个函数中时,如下所示: const Users = ()=> <UserList pattern={search}/>; constusers=()=>; 在父组件中使用,我看到整个列表组件在
<UserList pattern={search}/>
当直接在父组件内部使用上述语句时,它仅呈现根据搜索属性更改的内容(列表保留,仅删除不匹配的项)
但当我将UserList包装到另一个函数中时,如下所示:
const Users = ()=> <UserList pattern={search}/>;
constusers=()=>;
在父组件中使用
,我看到整个列表组件在搜索属性更改时重新呈现。搜索字段是本地状态(useState[''])
因此,父组件现在看起来像这样:
const App = () => {
const [search, setSearch] = useState('');
const Users = ()=> <UserList pattern={search}/>;
return (
<div id="app" className="home-page">
<Header />
<WelcomeSlogan/>
<Users/>
</div>
);
}
const-App=()=>{
const[search,setSearch]=useState(“”);
常量用户=()=>;
返回(
);
}
因此,我们知道,如果父组件发生更改,react会重新呈现完整的子组件,但在这种情况下,父组件(
)是如何发生更改的?有人能解释一下,帮我更好地理解吗?谢谢。您在哪里定义用户
组件?您能否提供代码,以便我们可以在同一文件中重现您正在经历的行为。它只是一个线组件。