У нас есть приложение, которое позволяет пользователю устанавливать «параметры» на странице. Мы делаем эти параметры в URL-адресе, используя React Router (вместе с историей) и библиотеку, которая URI-кодирует объекты JavaScript в формате, который может использоваться в качестве строки запроса.
Когда пользователь выбирает параметр, мы можем вывести его значение на текущий маршрут с помощью:
history.push({pathname: 'path/', search: '?' + Qs.stringify(params)});
pathname
может быть текущим путем. В вашем случае params
будет выглядеть примерно так:
{
selectedOption: 5
}
Затем на верхнем уровне дерева React React Router обновит props
этого компонента с помощью функции location.search
, которая это закодированное значение, которое мы установили ранее, поэтому в componentWillReceiveProps
будет что-то вроде:
params = Qs.parse(nextProps.location.search.substring(1));
this.setState({selectedOption: params.selectedOption});
Затем этот компонент и его дочерние элементы будут повторно отображать с обновленной настройкой. Поскольку информация находится на URL-адресе, она может быть помечена закладкой (или отправлена по электронной почте - это был наш прецедент), и обновление будет оставаться в том же состоянии. Это действительно хорошо работает для нашего приложения.
React Router: https://github.com/reactjs/react-router
История: https://github.com/ReactTraining/history
Библиотека строки запроса: https://github.com/ljharb/qs
Вы должны назначить j на 0 после печати каждого массива.
#include <stdio.h>
int main(){
int i = 0;
int j = 0;
int doubleCharArray[2][7] = {{1,2,3,4,5,6},{7,8,9,10,11,12}};
while(i < 2){
while(j < 6){/* Replaced 7 to 6 */
printf("%d ",doubleCharArray[i][j]);
j++;
}
j = 0;/* Added this, re-assigning j to 0 */
i++;
}
return 0;
}
Проверьте комментарии в коде.