// signObj - данные для фильтрации
/*
signObj = {
model: 'audi',
year: '2007',
type: "benzin"
}
*/
const filterAction = (signObj) => {
return (dispatch, getState)=>{
let filtredList = [ ...getState().noFilterList]; // Не фильтрованный список
Object.keys(signObj).map((signName)=>{
filtredList.filter((item)=>( item[signName] === signObj[signName]))
});
dispatch({ type: SET_FILTRED_LIST, payload: filtredList}); // устанавливает state.filterdList
}
}
// Можно собирать signObj предварительно в store
import React, { Component } import 'react';
import List from './List'; // Список
import { connect } from 'react-redux'
import { mutatinList } from './actions'; // Какой-то action
class ListContainer extends Component{
render(){
return(
<List {...this.props} />
)
}
}
const mapStateToProps = (state) => ({
list: state.list
})
const mapDispatchToProps = {
mutatinList: mutatinList
}
export default connect(mapStateToProps, mapDispatchToProps)(ListContainer);
Access-Control-Allow-Origin: https://foo.invalid // Домен с которого идут запросы
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: "заголовки которые можно отправить на удалённый сервер"
// Разрешённые методы
Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS
import React, { Component } from 'react';
class Succes extends Component{
constructor(props){
super(props);
this.state = { error: null,
isLoaded: false,
items: Array
}
}
componentDidMount() {
// Fetch тут
fetch("http://example.url/page.php")
.then((response) => response.json())
.then((response) => {
this.setState({items: response});
this.setState({isLoaded: true});
})
.then((error) => {
this.setState({false: true});
this.setState({error});
})
}
render (){
const data = Array.from(this.state.data.headers);
}
}
export default Succes;
function react_enquip_script(){
// Регистрируете скрипты в WP
}
add_action('react_enquip_script', 'react_enquip_script');
add_shortcode('component_chat', 'component_chat');
function component_chat(){
do_action('react_enquip_script');
// Прочий код, в том числе подключение компонента
}