我的reducer中的代码如下:
import {ADD_FILTER, REMOVE_FILTER} from "../../../../actions/types";
const removeFilter = (state, name) => {
return state.filter(f => f.name !== name);
};
export default function addRemoveFilterReducer(state = [], action) {
switch (action.type) {
case ADD_FILTER:
let nState = state;
if(state.some(i => i.name === action.searchFilter.name))
nState = removeFilter(state, action.searchFilter.name);
return [...nState, {name: action.searchFilter.name, values: [action.searchFilter.values]}];
//Call another action
case REMOVE_FILTER:
return removeFilter(state, action.searchFilter.name);
default:
return state;
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个组件陈列室,在展厅内我有搜索组件和内容组件.
在搜索组件里面,我处理过滤,然后我发送一个用这个reducer处理的动作.
添加过滤器后,我想分配一个包含所有过滤器的操作.我怎样才能做到这一点?
该操作将使用reducer处理,我只返回符合搜索条件的汽车并将其显示在内容组件中.
我希望你明白我想说的话.
这种方法有用吗?
我的主要组件如下:
export default class RegistrationFormStepFour extends React.Component{
constructor(props){
super(props);
this.state = {
terms: false,
emailNotifications: false,
smsNotifications: false,
errors: {}
}
}
handleTerms(event){
event.preventDefault();
this.setState({terms: !this.state.terms});
}
render(){
const language = this.props.currentLanguage;
return (
<div>
<Terms
nameYes="chcTerms"
text={language.termsText}
state={this.state.terms}
onChange={this.handleTerms.bind(this)}
currentLanguage={language}
error={this.state.errors.terms}/>
</div>
);
}
}
Run Code Online (Sandbox Code Playgroud)
组件项如下:
import React from 'react';
const Terms = ({nameYes, text, state, onChange, error}) => {
let hasError = error ? "hasError" : "";
return (
<div className="col-lg-12 text-center" style={{marginBottom: 30}}>
<form>
<label className="radio-inline">
<input …Run Code Online (Sandbox Code Playgroud) 我有这样的事情:
let test = [
{
name: "Mark",
address: "Some adress",
company: "company name",
age: 21
}
]
let test1 = [
{
name: "Steve",
age: 27
}
]
Run Code Online (Sandbox Code Playgroud)
如何使用test1更新测试?因此,我想得到的是:
let test2 = [
{
name: "Steve",
address: "Some adress",
company: "company name",
age: 27
}
]
Run Code Online (Sandbox Code Playgroud) 我想用 Python 和 Django 中的另一个字典列表来过滤字典列表。
我有一个过滤器列表,如下所示:
filters = [{'type': 'make', 'value': 'SEAT'}, {'type': 'model', 'value': 'Acura'}]
Run Code Online (Sandbox Code Playgroud)
我有一个车辆列表如下:
vehicles = [
{'make': 'Audi', 'model': 'A3', 'transmission': 'Manual'},
{'make': 'Audi', 'model': 'A1', 'transmission': 'Automatic'},
{'make': 'Seat', 'model': 'Acura', 'transmission': 'Manual'},
{'make': 'Seat', 'model': 'LEON', 'transmission': 'Manual'},
{'make': 'Skoda', 'model': 'Octavia', 'transmission': 'Manual'},
]
Run Code Online (Sandbox Code Playgroud)
我想获得所有带有make Seat和 的车辆model Acura。因此我想要的结果是:
[
{'make': 'Seat', 'model': 'Acura', 'transmission': 'Manual'}
]
Run Code Online (Sandbox Code Playgroud)
我尝试了如下方法:
def filter_item(vehicle, filters):
for fil in filters:
key = fil['type']
value = …Run Code Online (Sandbox Code Playgroud) 我在 React Native 中有登录功能,我尝试在其中获取数据。功能如下:
onLogin: function() { //
const self = this;
self.setState({modalVisible: true, modalMessage: 'Signing in'});
fetch('http://psa.autralis.com/manager/api/v1/obtain-auth-token/', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
username: self.state.username,
password: self.state.password,
})
})
.then(response => response.json())
.then(data => console.log(data))
.catch((error) => {
console.warn(error);
});
},
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,它不适用于ios。我收到一个错误:
在 android 上它可以工作,我用邮递员对其进行了测试,它也可以工作。
任何的想法?
我在Django rest框架中有序列化程序如下:
class StateSerializer(serializers.ModelSerializer):
kilometers = Field(source='mileage')
pictures = StatePictureSerializer(many=True, read_only=True)
class Meta:
model = Inspection # Options
fields = ('kilometers', 'inspection_date', 'pictures')
Run Code Online (Sandbox Code Playgroud)
而StatePictureSerializer如下:
class StatePictureSerializer(serializers.ModelSerializer):
blob_url = Field(source='public_url')
class Meta:
model = Inspection_Picture
fields = ('blob_url', )
Run Code Online (Sandbox Code Playgroud)
结果我得到如下内容:
{
"kilometers": 64431,
"inspection_date": null,
"pictures": [
{"blob_url": "path/to/photo"},
{"blob_url": "path/to/photo"},
{"blob_url": "path/to/photo"},
{"blob_url": "path/to/photo"},
{"blob_url": "path/to/photo"}
]
}
Run Code Online (Sandbox Code Playgroud)
因此,pictures是一个对象数组.
我想要的是一个字符串数组,例如:
"pictures": ["path/to/photo", "path/to/photo", "path/to/photo", "path/to/photo", "path/to/photo"]
Run Code Online (Sandbox Code Playgroud)
知道怎么做吗?
编辑
Inspection 型号如下:
class Inspection(models.Model):
customerReference = models.CharField(max_length=50, blank=True, …Run Code Online (Sandbox Code Playgroud) 是否有任何 Pythonic 方法可以知道 for 循环是否被中断?
我有一个非常大的列表,有 100 000 条记录。我想遍历所有列表项,但我想知道是否出于某种原因(例如:如果电源没电,如果电池因任何其他原因没电)循环被中断并且没有到达列表的结尾。
因此,例如,如果我有如下列表:
some_list = ["item1", "item2", "item3", "item4", "item5"]
for item in some_list:
# If it came to item3 and it's interrupted. How can I know that?
print(item)
Run Code Online (Sandbox Code Playgroud) javascript ×3
django ×2
python ×2
reactjs ×2
checkbox ×1
fetch-api ×1
react-native ×1
react-redux ×1
redux ×1