以Redux-Form中的InitializationFromState为例,我试图动态地进行设置。这是在书籍列表中编辑特定书籍,并使用在express.js中设置的简单api。
完整的容器在下面。我不知何故需要initialValues
在mapStateToProps
函数中传递。在示例中,这是通过静态对象完成的,但我无法弄清楚如何使用通过提取的信息fetchBook
并将其传递给initialValues
。
容器:
import React, { Component, PropTypes } from 'react';
import { reduxForm } from 'redux-form';
import { connect } from 'react-redux';
import { Link } from 'react-router';
import { fetchBook, editBook } from '../actions/index';
class BookEdit extends Component {
componentWillMount() {
this.props.fetchBook(this.props.params.id);
}
static contextTypes = {
router: PropTypes.object
}
onSubmit(props) {
this.props.editBook(this.props.book.id, props)
.then(() => {
this.context.router.push('/');
});
}
const data = {
title: {this.props.book.title},
description: {this.props.author}
}
render() {
const { fields: { title, author }, handleSubmit } = this.props;
const { book } = this.props;
if (!book) {
return (
<div>
<p>Loading...</p>
</div>
)
}
return (
<div>
<Link to="/">Back</Link>
<form onSubmit={handleSubmit(this.onSubmit.bind(this))}>
<h2>Add a new book</h2>
<label>Title</label>
<input type="text" {...title} />
<div className="text-help">{title.touched ? title.error : ''}</div>
<label>Author</label>
<input type="text" {...author} />
<div className="text-help">{author.touched ? author.error : ''}</div>
<button type="submit">Add</button>
<Link to="/" className="button">Go back</Link>
</form>
</div>
);
}
}
function mapStateToProps(state) {
return {
book: state.books.book,
initialValues: // how do I pass in the books here?
};
}
export default reduxForm({
form: 'EditBookForm',
fields: ['title', 'author']
}, mapStateToProps, { fetchBook, editBook })(BookEdit);
谢谢。
您的表单值不是state.books.book
吗?我认为这就是您要寻找的全部:
function mapStateToProps(state) {
return {
book: state.books.book,
initialValues: state.books.book
};
}
由于您只是真正this.props.book
地了解是否已加载,因此更明确地执行以下操作:
function mapStateToProps(state) {
return {
loaded: !!state.books.book,
initialValues: state.books.book
};
}
希望有帮助。
使用Redux表单中的initializingFromState示例,我试图动态地设置它。这是为了编辑书籍列表中的特定书籍,并使用在express.js中设置的简单api。 完整的容器在下面。不知何故,我需要在mapStateToProps函数中传入。在这个例子中,它是通过一个静态对象完成的,但是我不知道如何使用我通过获取的信息,并将其传递给。 容器: 谢谢你。
问题内容: 我想使用DatePicker通过Redux表单选择日期。我创建这个: 但是它不会返回任何值,并且不会在字段中显示日期,我该怎么办? 问题答案: 您希望包装DatePicker元素,使其可以用作“字段”上的组件,如下所示: 有关更多信息,请参见此GitHub问题:https : //github.com/Hacker0x01/react- datepicker/issues/543
问题内容: 我正在编写一个具有静态外部“外壳”和动态内容部分的Web应用程序。用户浏览系统时,动态内容部分具有许多更新。加载新的内容块时,还可以选择加载另一个JavaScript文件。我以良好的内务管理名义,从DOM中删除了适用于旧内容块的脚本块,因为不再需要JavaScript。 接下来是问题,当我意识到尽管我已经从DOM中删除了该元素,但是先前评估过的JavaScript仍然可以执行。这当然是
pre { white-space: pre-wrap; } 动态加载树形网格有助于从服务器上加载部分的行数据,避免加载大型数据的长时间等待。本教程将向您展示如何创建带有动态加载特性的树形网格(TreeGrid)。 创建树形网格(TreeGrid) <table title="Products" url="treegrid3_getdata.php"
问题内容: 我正在尝试为我的网站创建页面主题功能。我想使用单独的CSS文件在页面上动态加载相应的主题。 我正在使用此代码: 效果很好,但是如果CSS文件未加载,它不会返回任何信息。 加载时,有什么方法可以捕捉吗?也许通过使用ajax? 问题答案: 加载CSS文件(或其任何其他更改)时,Internet Explorer会触发一个事件。其他浏览器不会触发任何事件,因此您将必须手动检查样式表是否已加载
说明 调用方法: $.f2e.util.getScript(url,cache,fn); 函数说明: 加载js,并提供相关回调 参数说明: 参数名 类型 说明 备注 url string 地址 无 cache boolean 缓存 无 fn function 回调函数 无 脚本 <script> $.f2e.util.getScript(url,true,function(){