假设以下应用程序状态:
ownProps
从容器中填充表示组件的首选(或最好的,如果可能的话)是什么:尽可能直接从状态读取或从TodoItem from '../components/TodoItem';
const mapStateToProps = (state, ownProps) => {
return { data: ownProps.data };
};
const mapDispatchToProps = (dispatch, ownProps) => {
return { onComplete: () => {} }
};
const TodoItemContainer = connect(
mapStateToProps,
mapDispatchToProps
)(TodoItem);
class TodoList extends Component {
// ...
render() {
return this.props.items.map(item => {
return <TodoItemContainer index={item.id} data={item} />;
});
}
}
读取?为什么呢?
从ownProps读取的示例:
import TodoItem from '../components/TodoItem';
const mapStateToProps = (state, ownProps) => {
return { data: state.todos[ownProps.id] };
};
const mapDispatchToProps = (dispatch, ownProps) => {
return { onComplete: () => {} }
};
const TodoItemContainer = connect(
mapStateToProps,
mapDispatchToProps
)(TodoItem);
class TodoList extends Component {
// ...
render() {
return this.props.items.map(item => {
return <TodoItemContainer index={item.id} id={item.id} />;
});
}
}
直接从州获取的示例:
String folderName=userId+"folder";
new File("/home/djordje/"+folderName).mkdirs();
答案 0 :(得分:0)
两者都有效。如果您正在使用规范化数据,第二种方法特别有用,也可以改善性能。
有关详细信息,请参阅以下链接: