const users = [...state.users];
не делает копии стейта, следовательно, дальше так же меняется сам стейт, так что суть, видимо не в том, стейт или копию нужно изменять, а в том, как конструировать возвращаемый объект. {...state, users}
{users:[], [.......]}
return {...state, users: state.users}
return {...state, users}
const mapStateToProps = store => { return { user: store.user.user }; };
const initialStateUser = { name: "Вася" };
const initialStateUser = {
users: []
}
<script>
$(function(){
$('#menu-top a').on('click', function(){
let url = $(this).attr('href');
$.ajax({
type: "GET",
url: url
}).done(function(data){
$("#content").html(data);
});
return false;
})
$('#left-menu a').on('click', function(){
let url = $(this).attr('href');
$.ajax({
type: "GET",
url: url
}).done(function(data){
$("#<имя блока>").html(data);
});
return false;
})
})
</script>
<div id="text"></div>
туда поместить все что собираетесь менять, а в скрипте поменять #content на #text <script>
$(function(){
$('#menu-top a').on('click', function(){
let url = $(this).attr('href');
$.ajax({
type: "GET",
url: url
}).done(function(data){
$("#content").html(data);
});
return false;
})
})
</script>
<div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
const users = [...state.users];
в массиве users ссылки на объекты массива state.users, а не копия этого массива.Это поверхностная копия, меняя в ней значения, так же меняется и state.users