Javascript 更新组件文本
我是react的新手,我正在尝试在提交表单后更新一些react组件。事实上,表单可以获取一些对象,一旦检索到该对象,我们可以显示一些文本,如“尝试获取对象时出错”或“加载…”或“成功检索对象” 这是我的状态:Javascript 更新组件文本,javascript,reactjs,redux,Javascript,Reactjs,Redux,我是react的新手,我正在尝试在提交表单后更新一些react组件。事实上,表单可以获取一些对象,一旦检索到该对象,我们可以显示一些文本,如“尝试获取对象时出错”或“加载…”或“成功检索对象” 这是我的状态: interface IState { inputText: string; isFetching: boolean; isError: boolean; cvs: CvModel[]; } 为了呈现我的表单和文本,我获得了以下代码: export default () =
interface IState {
inputText: string;
isFetching: boolean;
isError: boolean;
cvs: CvModel[];
}
为了呈现我的表单和文本,我获得了以下代码:
export default () => (
<div>
<FormFindCvContainer />
<hr/>
<DetailCvSearchContainer />
</div>
);
我最终得到了显示文本的代码:
class DetailCvSearchContainer extends React.Component<IProps, undefined> {
render() {
let result = <div></div>;
if (this.props.isFetching) {
result = <h2>Loading...</h2>;
} else if (this.props.isError) {
result = <div>No CV</div>;
}
return result;
}
}
class DetailCvSearchContainer扩展了React.Component{
render(){
让结果=;
if(this.props.isFetching){
结果=加载。。。;
}else if(this.props.isError){
结果=无CV;
}
返回结果;
}
}
如果我试图找到一些cv,但它不存在,它会显示“无cv”。
问题是,如果我回到主页并转到表单查找简历,仍然会显示文本“No cv”。但我还没找到。
当我第一次来到表单页面时,如何使其不显示任何内容?class DetailCvSearchContainer extends React.Component{
class DetailCvSearchContainer extends React.Component<IProps, undefined> {
render() {
let result = <div></div>;
if (this.props.isFetching) {
result = <h2>Loading...</h2>;
} else if (this.props.isError) {
result = <div>No CV</div>;
} else if(//check if cv is empty object or something){
result = <div>Search for CV</div>
}
return result;
}
render(){
让结果=;
if(this.props.isFetching){
结果=加载。。。;
}else if(this.props.isError){
结果=无CV;
}else if(//检查cv是否为空对象或其他内容){
结果=搜索CV
}
返回结果;
}
}
这应该行得通。我不知道您的初始状态是什么,但您可以将cv字段设置为null,以便检查是否执行了提取。如果我允许,它将像我看到的那样继续运行。第一次,当搜索到的简历不存在时,我发送了一个操作来更新我的状态:iError现在为true。我回到主页,进入表单页面。在做任何事情之前,会显示文本“no cv”,因为当它选中“iError”时“我明白了,这是真的。您可以使用本地状态轻松实现所需的行为。您不能将所有内容都推送到redux商店。如果仍要使用redux存储,则可以在加载表单时发送一个操作,将表单值重置为默认值
class DetailCvSearchContainer extends React.Component<IProps, undefined> {
render() {
let result = <div></div>;
if (this.props.isFetching) {
result = <h2>Loading...</h2>;
} else if (this.props.isError) {
result = <div>No CV</div>;
} else if(//check if cv is empty object or something){
result = <div>Search for CV</div>
}
return result;
}